{"openapi":"3.1.0","info":{"title":"ShiftControl API","summary":"Comprehensive API for managing ShiftControl operations","description":"The ShiftControl API provides a set of endpoints to manage various aspects of the ShiftControl platform, including user, group, app management, and more. This documentation covers all available endpoints, their parameters, and expected responses.","version":"1.1"},"paths":{"/api/{org_id}/apps":{"get":{"tags":["Apps"],"summary":"Get a list of apps.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. Applied to the app name field.","schema":{"description":"A filter to apply to the results. Applied to the app name field.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"status","description":"Filter by status. Valid values: 'active' (default), 'archived', or 'all'. If omitted, defaults to 'active'.","schema":{"description":"Filter by status. Valid values: 'active' (default), 'archived', or 'all'. If omitted, defaults to 'active'.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/app":{"post":{"tags":["Apps"],"summary":"Create a new app.","requestBody":{"description":"Payload for creating a new app. Supports both JumpCloud-enabled and Google-only orgs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAppPayload"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"An application.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/app/{app_id}":{"get":{"tags":["Apps"],"summary":"Get an app.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"An application.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Apps"],"summary":"Update an app.","requestBody":{"description":"Payload for updating an existing app. Supports both JumpCloud-enabled and Google-only orgs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppPayload"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"An application.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Apps"],"summary":"Delete an app.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"App deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/app/{app_id}/archive":{"post":{"tags":["Apps"],"summary":"Archive an app","description":"Archives an app: tears down JumpCloud integration, snapshots SSO config, removes assignments, and flips status to archived. The subscription/cost record is preserved. Blocks if JumpCloud deletion fails.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"An application.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/app/{app_id}/unarchive":{"post":{"tags":["Apps"],"summary":"Unarchive an app","description":"Unarchives an app: recreates JumpCloud app from stored snapshot, creates a new composite group, and flips status back to active. The app returns unassigned. Rolls back on JumpCloud creation failure.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"An application.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/apps/archive":{"post":{"tags":["Apps"],"summary":"Bulk archive apps","description":"Archives multiple apps in a single request. Each app is processed independently; a failure on one app does not block others. Returns per-app results with status and any error details.","requestBody":{"description":"Request body for bulk archiving apps.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkArchiveRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Result of a bulk archive operation containing per-app outcomes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkArchiveResult"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/app/{app_id}/upgrade_bookmark":{"post":{"tags":["Apps"],"summary":"Convert a bookmark app to SSO","description":"Converts a bookmark app to an SSO app.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"An application.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/app/{app_id}/subscription":{"patch":{"tags":["Apps"],"summary":"Update app subscription fields","description":"Updates only the database fields of an app (cost, billing, contract, name, etc.) without triggering JumpCloud sync or modifying app assignments. Use this for subscription/metadata-only updates.","requestBody":{"description":"Subscription and cost fields for an app. Does not include app identity fields (name, description, org, catalog, logo, bookmark).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppSubscription"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"An application.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/app/{app_id}/downgrade_sso":{"post":{"tags":["Apps"],"summary":"Convert an SSO app to bookmark","description":"Converts an SSO app to a bookmark app.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"An application.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/app/discovery":{"get":{"tags":["App Discovery"],"summary":"Get a list of discovered apps.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results, matched against the downstream app name.","schema":{"description":"A filter to apply to the results, matched against the downstream app name.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"state","description":"An optional state filter. Valid states are: Pending, Snoozed, Dismissed, Added.","schema":{"description":"An optional state filter. Valid states are: Pending, Snoozed, Dismissed, Added.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult3"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/app/discovery/users":{"get":{"tags":["App Discovery"],"summary":"Get a list of unique users detected in app discovery metadata.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/app/discovery/{app_discovery_id}":{"get":{"tags":["App Discovery"],"summary":"Get a specific discovered app.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A discovered app and its metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppDiscovery"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/app/discovery/{app_discovery_id}/state":{"put":{"tags":["App Discovery"],"summary":"Update the state of a specific discovered app.","requestBody":{"description":"Update the state of an app discovery.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppDiscoveryState"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A discovered app and its metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppDiscovery"}}}}},"security":[{"BearerAuth":[]}]}},"/api/app_catalog":{"get":{"tags":["App Catalog"],"summary":"Get a list of items from the app catalog.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult2"}}}}},"security":[{"BearerAuth":[]}]}},"/api/app_catalog/{catalog_id}":{"get":{"tags":["App Catalog"],"summary":"Get a specific item from the app catalog.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"An App Catalog entry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppCatalog"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/departments":{"get":{"tags":["Departments"],"summary":"Get a list of departments.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult6"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/department":{"post":{"tags":["Departments"],"summary":"Create a new department.","requestBody":{"description":"A new department to be created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDepartment"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"A department in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Department"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/department/{department_id}":{"get":{"tags":["Departments"],"summary":"Get details of a specific department.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A department in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Department"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Departments"],"summary":"Update details of a specific department.","requestBody":{"description":"A department to be updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDepartment"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A department in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Department"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Departments"],"summary":"Delete a specific department.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Department deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/teams":{"get":{"tags":["Teams"],"summary":"Get a list of teams.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult7"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/team":{"post":{"tags":["Teams"],"summary":"Create a new team.","requestBody":{"description":"Create a team.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTeam"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"A team in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Team"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/team/{team_id}":{"get":{"tags":["Teams"],"summary":"Get details of a specific team.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A team in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Team"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Teams"],"summary":"Update details of a specific team.","requestBody":{"description":"Update a team.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTeam"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Response for team update operations including any propagation failures","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTeamResponse"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Teams"],"summary":"Delete a specific team.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Team deleted successfully. Response includes any propagation failures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteTeamResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/dashboards/oauth/stats/day":{"get":{"tags":["Dashboards/OAuth"],"summary":"Get per-day aggregated OAuth stats for an organization.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult4"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/dashboards/oauth/stats/month":{"get":{"tags":["Dashboards/OAuth"],"summary":"Get per-month aggregated OAuth stats for an organization.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult5"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/groups":{"get":{"tags":["Google Workspace Groups"],"summary":"Retrieve the list of Google Workspace Directory groups for a given organization.","parameters":[{"in":"query","name":"customer","description":"The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all groups for a customer, use this field instead of domain. You can also use the my_customer alias to represent your account's customerId. The customerId is also returned as part of the Users resource. You must provide either the customer or the domain parameter.","schema":{"description":"The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all groups for a customer, use this field instead of domain. You can also use the my_customer alias to represent your account's customerId. The customerId is also returned as part of the Users resource. You must provide either the customer or the domain parameter.","type":"string"},"style":"form"},{"in":"query","name":"domain","description":"The domain name. Use this field to get groups from only one domain. To return all domains for a customer account, use the customer query parameter instead.","schema":{"description":"The domain name. Use this field to get groups from only one domain. To return all domains for a customer account, use the customer query parameter instead.","type":"string"},"style":"form"},{"in":"query","name":"maxResults","description":"Maximum number of results to return. Max allowed value is 200.","schema":{"description":"Maximum number of results to return. Max allowed value is 200.","type":"integer","format":"uint32","minimum":0},"style":"form"},{"in":"query","name":"orderBy","description":"Column to use for sorting results.","schema":{"description":"Column to use for sorting results.","$ref":"#/components/schemas/OrderBy"},"style":"form"},{"in":"query","name":"pageToken","description":"Token to specify next page in the list.","schema":{"description":"Token to specify next page in the list.","type":"string"},"style":"form"},{"in":"query","name":"query","description":"Query string search.","schema":{"description":"Query string search.","type":"string"},"style":"form"},{"in":"query","name":"sortOrder","description":"Whether to return results in ascending or descending order. Only of use when orderBy is also used.","schema":{"description":"Whether to return results in ascending or descending order. Only of use when orderBy is also used.","$ref":"#/components/schemas/SortOrder"},"style":"form"},{"in":"query","name":"userKey","description":"Email or immutable ID of the user if only those groups are to be listed, the given user is a member of. If it's an ID, it should match with the ID of the user object. Cannot be used with the customer parameter.","schema":{"description":"Email or immutable ID of the user if only those groups are to be listed, the given user is a member of. If it's an ID, it should match with the ID of the user object. Cannot be used with the customer parameter.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of Google Workspace Directory groups.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse"},"example":{"etag":"\"etag_value\"","items":[{"adminCreated":true,"aliases":["groupalias@example.com"],"description":"A group of all users.","directMembersCount":"10","email":"group@example.com","etag":"\"etag_value\"","id":"group@example.com","kind":"admin#directory#group","name":"All Users"}],"kind":"admin#directory#groups","nextPageToken":"token123"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Google Workspace Groups"],"summary":"Create a new Google Workspace Directory group.","requestBody":{"description":"Google Groups resource for creating or updating a group in the Admin API. For more information about common tasks, see the Developer's Guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateGroup"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Google Groups resource representing a group in the Admin API. For more information about common tasks, see the Developer's Guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/groups":{"get":{"tags":["Google Workspace Users"],"summary":"Retrieve the Google Workspace Directory groups that a given user is a direct member of.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"List of Google groups the user is a member of.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/group/{group_id}":{"get":{"tags":["Google Workspace Groups"],"summary":"Retrieve a specific Google Workspace Directory group by ID.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Google Groups resource representing a group in the Admin API. For more information about common tasks, see the Developer's Guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Google Workspace Groups"],"summary":"Update an existing Google Workspace Directory group (full replacement).","description":"Replaces the entire group resource. Use PATCH for partial updates.","requestBody":{"description":"Google Groups resource for creating or updating a group in the Admin API. For more information about common tasks, see the Developer's Guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateGroup"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Google Groups resource representing a group in the Admin API. For more information about common tasks, see the Developer's Guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Groups"],"summary":"Delete a Google Workspace Directory group.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Group deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["Google Workspace Groups"],"summary":"Patch a Google Workspace Directory group (partial update).","description":"Only modifies the fields included in the request body. Omitted fields are preserved.","requestBody":{"description":"Google Groups resource for patching a group in the Admin API. For more information about common tasks, see the Developer's Guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchGroup"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Google Groups resource representing a group in the Admin API. For more information about common tasks, see the Developer's Guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/group/{group_id}/aliases":{"get":{"tags":["Google Workspace Groups"],"summary":"Retrieve the list of aliases for a Google Workspace Directory group.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of Google Workspace Directory group aliases.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse2"},"example":{"etag":"\"etag_response\"","items":[{"alias":"alias@example.com","etag":"\"etag_alias\"","id":"alias_id","kind":"admin#directory#alias","primaryEmail":"group@example.com"}],"kind":"admin#directory#aliases"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/group/{group_id}/alias":{"post":{"tags":["Google Workspace Groups"],"summary":"Create a new alias for a Google Workspace Directory group.","requestBody":{"description":"Resource: CreateGroupAlias\nThe Directory API manages aliases, which are alternative email addresses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGroupAlias"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Resource: GroupAlias\nThe Directory API manages aliases, which are alternative email addresses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupAlias"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/group/{group_id}/alias/{alias}":{"delete":{"tags":["Google Workspace Groups"],"summary":"Delete an alias from a Google Workspace Directory group.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Group alias deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/group/{group_id}/members":{"get":{"tags":["Google Workspace Groups"],"summary":"Retrieve the members of a Google Workspace Directory group.","parameters":[{"in":"query","name":"includeDerivedMembership","description":"Whether to list indirect memberships. Default: false.","schema":{"description":"Whether to list indirect memberships. Default: false.","type":"boolean"},"style":"form"},{"in":"query","name":"maxResults","description":"Maximum number of results to return. Max allowed value is 200.","schema":{"description":"Maximum number of results to return. Max allowed value is 200.","type":"integer","format":"uint32","minimum":0},"style":"form"},{"in":"query","name":"pageToken","description":"Token to specify next page in the list.","schema":{"description":"Token to specify next page in the list.","type":"string"},"style":"form"},{"in":"query","name":"roles","description":"The roles query parameter allows you to retrieve group members by role. Allowed values are OWNER, MANAGER, and MEMBER.","schema":{"description":"The roles query parameter allows you to retrieve group members by role. Allowed values are OWNER, MANAGER, and MEMBER.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of Google Workspace Directory group members.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse3"},"example":{"etag":"\"etag_response\"","items":[{"deliverySettings":"ALL_MAIL","email":"member@example.com","etag":"\"dummy_etag\"","id":"member@example.com","kind":"admin#directory#member","role":"MEMBER","status":"ACTIVE","type":"USER"}],"kind":"admin#directory#memberList"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/group/{group_id}/member/{member_id}":{"get":{"tags":["Google Workspace Groups"],"summary":"Retrieve a specific member of a Google Workspace Directory group.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Resource: Member\nA Google Groups member can be a user or another group. This member can be inside or outside of your account's domains.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Member"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Google Workspace Groups"],"summary":"Update a member in a Google Workspace Directory group (full replacement).","description":"Replaces the entire member resource. Use PATCH for partial updates.","requestBody":{"description":"Resource: CreateUpdateMember\nA Google Groups member can be a user or another group. This member can be inside or outside of your account's domains.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateMember"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Resource: Member\nA Google Groups member can be a user or another group. This member can be inside or outside of your account's domains.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Member"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Groups"],"summary":"Remove a member from a Google Workspace Directory group.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Group member deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["Google Workspace Groups"],"summary":"Patch a member in a Google Workspace Directory group (partial update).","description":"Only modifies the fields included in the request body. Omitted fields are preserved.","requestBody":{"description":"Resource: PatchMember\nA Google Groups member can be a user or another group. This member can be inside or outside of your account's domains.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchMember"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Resource: Member\nA Google Groups member can be a user or another group. This member can be inside or outside of your account's domains.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Member"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/group/{group_id}/member/{member_id}/check":{"get":{"tags":["Google Workspace Groups"],"summary":"Check if a user or group is a member of a Google Workspace Directory group.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The membership status of the user or group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsMemberResponse"},"example":{"isMember":true}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/group/{group_id}/member":{"post":{"tags":["Google Workspace Groups"],"summary":"Add a new member to a Google Workspace Directory group.","requestBody":{"description":"Resource: CreateUpdateMember\nA Google Groups member can be a user or another group. This member can be inside or outside of your account's domains.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateMember"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Resource: Member\nA Google Groups member can be a user or another group. This member can be inside or outside of your account's domains.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Member"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/groups/members/count":{"get":{"tags":["Google Workspace Groups"],"summary":"Retrieve member count breakdowns for all Google Workspace groups in a directory.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A map of Google group IDs to their member count breakdowns.","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GoogleGroupMemberCounts"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/domains":{"get":{"tags":["Google Workspace Domains"],"summary":"Retrieve the list of Google Workspace Directory domains for a given organization.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of Google Workspace Directory domains.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse4"},"example":{"etag":"\"etag_value\"","items":[{"creationTime":"1622505600","domainAliases":[{"creationTime":"1622505600","domainAliasName":"alias.example.com","etag":"\"etag_value\"","kind":"admin#directory#domainAlias","parentDomainName":"example.com","verified":true}],"domainName":"example.com","etag":"\"etag_value\"","isPrimary":true,"kind":"admin#directory#domain","verified":true}],"kind":"admin#directory#domains"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Google Workspace Domains"],"summary":"Create a new Google Workspace Directory domain for a given organization.","requestBody":{"description":"CreateDomain object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDomain"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Domain object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Domain"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/domain/{domain_name}":{"get":{"tags":["Google Workspace Domains"],"summary":"Retrieve a specific Google Workspace Directory domain for a given organization.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Domain object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Domain"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Domains"],"summary":"Delete a specific Google Workspace Directory domain for a given organization.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Domain deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/email-availability/{email}":{"get":{"tags":["Google Workspace Email Availability"],"summary":"Check if an email address is available in Google Workspace.","description":"Queries both the Google Directory Users and Groups APIs in parallel. Returns whether the email is taken (as primary email or alias) and by what type of entity. If the entity matches a local ShiftControl group, the composite_group_id is included.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Result of checking whether an email address is available in Google Workspace","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailAvailabilityResult"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/org_units":{"get":{"tags":["Google Workspace Organizational Units"],"summary":"Retrieve the list of Google Workspace Directory organizational units for a given organization.","parameters":[{"in":"query","name":"orgUnitPath","description":"The full path to the organizational unit or its unique ID. Returns the children of the specified organizational unit.","schema":{"description":"The full path to the organizational unit or its unique ID. Returns the children of the specified organizational unit.","type":"string"},"style":"form"},{"in":"query","name":"type","description":"Specifies whether to return all sub-organizations or just immediate children.","schema":{"description":"Specifies whether to return all sub-organizations or just immediate children.","$ref":"#/components/schemas/Type"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of Google Workspace Directory organizational units.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse5"},"example":{"etag":"\"etag_value\"","items":[{"blockInheritance":false,"description":"Handles sales support operations.","etag":"\"etag_value\"","kind":"admin#directory#orgUnit","name":"sales_support","orgUnitId":"orgUnit123","orgUnitPath":"/corp/sales/sales_support","parentOrgUnitId":"parentOrgUnit456","parentOrgUnitPath":"/corp/sales"}],"kind":"admin#directory#orgUnits"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Google Workspace Organizational Units"],"summary":"Create a new Google Workspace Directory organizational unit for a given organization.","requestBody":{"description":"Represents the payload for creating a new organizational unit in Google Workspace.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrgUnit"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Represents an organizational unit in Google Workspace.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgUnit"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/org_unit/{org_unit_path}":{"get":{"tags":["Google Workspace Organizational Units"],"summary":"Retrieve a specific Google Workspace Directory organizational unit for a given organization.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Represents an organizational unit in Google Workspace.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgUnit"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Google Workspace Organizational Units"],"summary":"Update a Google Workspace Directory organizational unit for a given organization.","requestBody":{"description":"Represents the payload for updating an organizational unit in Google Workspace.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrgUnit"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Represents an organizational unit in Google Workspace.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgUnit"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Organizational Units"],"summary":"Delete a Google Workspace Directory organizational unit for a given organization.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Organizational unit deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/customer":{"get":{"tags":["Google Workspace Directory"],"summary":"Retrieve Google Workspace Customer information.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Represents a customer in the Google Workspace Admin API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/privileges":{"get":{"tags":["Google Workspace Directory"],"summary":"List all privileges for a customer.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of privileges.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse6"},"example":{"etag":"\"etag_value\"","items":[{"childPrivileges":[],"etag":"\"etag_value\"","isOuScopable":true,"kind":"admin#directory#privilege","privilegeName":"ManageUsers","serviceId":"service123","serviceName":"Admin SDK"}],"kind":"admin#directory#roles","nextPageToken":"next_page_token"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/roles":{"get":{"tags":["Google Workspace Directory"],"summary":"List all roles for a customer.","parameters":[{"in":"query","name":"maxResults","description":"Maximum number of results to return.","schema":{"description":"Maximum number of results to return.","type":"integer","format":"int32"},"style":"form"},{"in":"query","name":"pageToken","description":"Token to specify the next page in the list.","schema":{"description":"Token to specify the next page in the list.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of roles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse7"},"example":{"etag":"\"etag_value\"","items":[{"etag":"\"etag_value\"","isSuperAdminRole":true,"isSystemRole":true,"kind":"admin#directory#role","roleDescription":"Administrator role with full privileges","roleId":"123456","roleName":"Admin","rolePrivileges":[{"privilegeName":"ManageUsers","serviceId":"service123"}]}],"kind":"admin#directory#roles","nextPageToken":"next_page_token"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Google Workspace Directory"],"summary":"Create a new role for a customer.","requestBody":{"description":"Google Admin SDK Role resource representing a role in the Admin API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Google Admin SDK Role resource representing a role in the Admin API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/role/{role_id}":{"get":{"tags":["Google Workspace Directory"],"summary":"Get a role for a customer.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Google Admin SDK Role resource representing a role in the Admin API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Google Workspace Directory"],"summary":"Update a role for a customer.","requestBody":{"description":"Google Admin SDK Role resource representing a role in the Admin API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Google Admin SDK Role resource representing a role in the Admin API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Directory"],"summary":"Delete a role for a customer.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Role deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/role_assignments":{"get":{"tags":["Google Workspace Directory"],"summary":"List role assignments for a customer.","parameters":[{"in":"query","name":"includeIndirectRoleAssignments","description":"When set to true, fetches indirect role assignments (i.e. role assignment via a group) as well as direct ones. Defaults to false. You must specify userKey or the indirect role assignments will not be included.","schema":{"description":"When set to true, fetches indirect role assignments (i.e. role assignment via a group) as well as direct ones. Defaults to false. You must specify userKey or the indirect role assignments will not be included.","type":"boolean"},"style":"form"},{"in":"query","name":"maxResults","description":"Maximum number of results to return.","schema":{"description":"Maximum number of results to return.","type":"integer","format":"int32"},"style":"form"},{"in":"query","name":"pageToken","description":"Token to specify the next page in the list.","schema":{"description":"Token to specify the next page in the list.","type":"string"},"style":"form"},{"in":"query","name":"roleId","description":"Immutable ID of a role. If included in the request, returns only role assignments containing this role ID.","schema":{"description":"Immutable ID of a role. If included in the request, returns only role assignments containing this role ID.","type":"string"},"style":"form"},{"in":"query","name":"userKey","description":"The primary email address, alias email address, or unique user or group ID. If included in the request, returns role assignments only for this user or group.","schema":{"description":"The primary email address, alias email address, or unique user or group ID. If included in the request, returns role assignments only for this user or group.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of role assignments.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse8"},"example":{"etag":"\"etag_value\"","items":[{"assignedTo":"user@example.com","assigneeType":"user","condition":"api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.security']) && resource.type == 'cloudidentity.googleapis.com/Group'","etag":"\"etag_value\"","kind":"admin#directory#roleAssignment","orgUnitId":"org_unit_id","roleAssignmentId":"123456789","roleId":"987654321","scopeType":"CUSTOMER"}],"kind":"admin#directory#roleAssignments","nextPageToken":"next_page_token"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Google Workspace Directory"],"summary":"Create a new role assignment for a customer.","requestBody":{"description":"Request body for creating a new role assignment. This omits read-only fields that are only present in Google API responses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleAssignment"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAssignment"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/role_assignment/{role_assignment_id}":{"get":{"tags":["Google Workspace Directory"],"summary":"Get a role assignment for a customer.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAssignment"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Directory"],"summary":"Delete a role assignment for a customer.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Role assignment deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/me/tokens":{"get":{"tags":["Google Workspace Directory Tokens"],"summary":"List OAuth tokens for the authenticated user.","description":"Returns the OAuth tokens for the currently authenticated user. Uses the user's session email to resolve their Google Directory user key.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of tokens for the authenticated user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse9"},"example":{"etag":"\"etag_value\"","items":[{"anonymous":false,"clientId":"227648260921-l0mdh1papvkfonvp7frb5sj3a56kcqum.apps.googleusercontent.com","displayText":"ShiftControl","etag":"\"etag_value\"","kind":"admin#reports#activity","nativeApp":false,"scopes":["https://www.googleapis.com/auth/admin.reports.audit.readonly","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],"userKey":"john.doe@example.com"}],"kind":"admin#directory#token"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/me/tokens/{client_id}":{"delete":{"tags":["Google Workspace Directory Tokens"],"summary":"Delete an OAuth token for the authenticated user.","description":"Deletes a specific OAuth token for the currently authenticated user. Uses the user's session email to resolve their Google Directory user key.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Token deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/tokens":{"get":{"tags":["Google Workspace Directory Tokens"],"summary":"List tokens for a Google Workspace user.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of tokens for the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse9"},"example":{"etag":"\"etag_value\"","items":[{"anonymous":false,"clientId":"227648260921-l0mdh1papvkfonvp7frb5sj3a56kcqum.apps.googleusercontent.com","displayText":"ShiftControl","etag":"\"etag_value\"","kind":"admin#reports#activity","nativeApp":false,"scopes":["https://www.googleapis.com/auth/admin.reports.audit.readonly","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],"userKey":"john.doe@example.com"}],"kind":"admin#directory#token"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/tokens/{client_id}":{"get":{"tags":["Google Workspace Directory Tokens"],"summary":"Get a specific token for a Google Workspace user.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Resource: Token\nRepresents an access token issued by a user for a 3rd party application.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Directory Tokens"],"summary":"Delete a token for a Google Workspace user.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Token deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/twoStepVerification/turnOff":{"get":{"tags":["Google Workspace Two-Step Verification"],"summary":"Disable two-step verification for a Google Workspace user.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Two-step verification disabled successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/schemas":{"get":{"tags":["Google Workspace Directory"],"summary":"List Google Workspace Directory User Schemas.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The Google Workspace Directory User Schemas.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse10"},"example":{"etag":"etag","items":[{"displayName":"Example Schema","etag":"\"etag_value\"","fields":[{"displayName":"Example Field","etag":"\"etag_value\"","fieldId":"field123","fieldName":"exampleField","fieldType":"STRING","indexed":true,"kind":"admin#directory#schema#fieldspec","multiValued":false,"numericIndexingSpec":{"maxValue":100.0,"minValue":0.0},"readAccessType":"ADMINS_AND_SELF"}],"kind":"admin#directory#schema","schemaId":"schema123","schemaName":"exampleSchema"}],"kind":"admin#directory#schemas"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Google Workspace Directory"],"summary":"Create a new Google Workspace Directory User Schema.","requestBody":{"description":"Represents a schema in the Google Workspace Admin SDK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Schema"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Represents a schema in the Google Workspace Admin SDK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Schema"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/schemas/{schema_key}":{"get":{"tags":["Google Workspace Directory"],"summary":"Get a Google Workspace Directory User Schema.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Represents a schema in the Google Workspace Admin SDK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Schema"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Google Workspace Directory"],"summary":"Update a Google Workspace Directory User Schema.","requestBody":{"description":"Represents a schema in the Google Workspace Admin SDK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Schema"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Represents a schema in the Google Workspace Admin SDK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Schema"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Directory"],"summary":"Delete a Google Workspace Directory User Schema.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Schema deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/verificationCodes":{"get":{"tags":["Google Workspace Verification Codes"],"summary":"List verification codes for a Google Workspace user.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of verification codes for the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse11"},"example":{"etag":"list_etag","items":[{"etag":"etag_value","kind":"admin#directory#verificationCode","userId":"obfuscated_id","verificationCode":"ABC123"}],"kind":"admin#directory#verificationCodesList"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Google Workspace Verification Codes"],"summary":"Generate a new verification code for a Google Workspace user.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The Directory API allows you to view, generate, and invalidate backup verification codes for a user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationCode"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Verification Codes"],"summary":"Invalidate all verification codes for a Google Workspace user.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Verification codes invalidated successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users":{"get":{"tags":["Google Workspace Directory"],"summary":"List Google Workspace Directory Users.","parameters":[{"in":"query","name":"customFieldMask","description":"A comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.","schema":{"description":"A comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.","type":"string"},"style":"form"},{"in":"query","name":"customer","description":"The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all users for a customer, use this field instead of domain. You can also use the my_customer alias to represent your account's customerId. The customerId is also returned as part of the Users resource. You must provide either the customer or the domain parameter.","schema":{"description":"The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all users for a customer, use this field instead of domain. You can also use the my_customer alias to represent your account's customerId. The customerId is also returned as part of the Users resource. You must provide either the customer or the domain parameter.","type":"string"},"style":"form"},{"in":"query","name":"domain","description":"The domain name. Use this field to get users from only one domain. To return all domains for a customer account, use the customer query parameter instead. Either the customer or the domain parameter must be provided.","schema":{"description":"The domain name. Use this field to get users from only one domain. To return all domains for a customer account, use the customer query parameter instead. Either the customer or the domain parameter must be provided.","type":"string"},"style":"form"},{"in":"query","name":"event","description":"Event on which subscription is intended (if subscribing).","schema":{"description":"Event on which subscription is intended (if subscribing).","$ref":"#/components/schemas/Event"},"style":"form"},{"in":"query","name":"maxResults","description":"Maximum number of results to return.","schema":{"description":"Maximum number of results to return.","type":"integer","format":"int32"},"style":"form"},{"in":"query","name":"orderBy","description":"Property to use for sorting results.","schema":{"description":"Property to use for sorting results.","$ref":"#/components/schemas/OrderBy2"},"style":"form"},{"in":"query","name":"pageToken","description":"Token to specify next page in the list. The page token is only valid for three days.","schema":{"description":"Token to specify next page in the list. The page token is only valid for three days.","type":"string"},"style":"form"},{"in":"query","name":"projection","description":"What subset of fields to fetch for this user.","schema":{"description":"What subset of fields to fetch for this user.","$ref":"#/components/schemas/Projection"},"style":"form"},{"in":"query","name":"query","description":"Query string for searching user fields. For more information on constructing user queries, see Search for Users.","schema":{"description":"Query string for searching user fields. For more information on constructing user queries, see Search for Users.","type":"string"},"style":"form"},{"in":"query","name":"showDeleted","description":"If set to true, retrieves the list of deleted users. (Default: false).","schema":{"description":"If set to true, retrieves the list of deleted users. (Default: false).","type":"string"},"style":"form"},{"in":"query","name":"sortOrder","description":"Whether to return results in ascending or descending order, ignoring case.","schema":{"description":"Whether to return results in ascending or descending order, ignoring case.","$ref":"#/components/schemas/SortOrder2"},"style":"form"},{"in":"query","name":"viewType","description":"Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see Retrieve a user as a non-administrator.","schema":{"description":"Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see Retrieve a user as a non-administrator.","$ref":"#/components/schemas/ViewType"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"List of Google Workspace Directory Users.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse12"},"example":{"etag":"\"dummy_etag\"","items":[{"addresses":[{"country":"Singapore","locality":"Singapore","postalCode":"12345","primary":true,"streetAddress":"123 Main St","type":"home"}],"agreedToTerms":true,"aliases":["alias1@example.com","alias2@example.com"],"archived":false,"changePasswordAtNextLogin":false,"creationTime":"2023-01-01T00:00:00Z","customSchemas":{"CustomSchema":{"field1":"value1","field2":"value2"}},"customerId":"customer123","deletionTime":"2023-12-31T23:59:59Z","emails":[{"address":"j.doe@example.com","primary":true}],"etag":"\"etag_value\"","externalIds":[{"value":"external_id_1"}],"gender":{"addressMeAs":"he/him/his","type":"male"},"hashFunction":"SHA-256","id":"id123","ims":[{"im":"customuser","primary":true,"protocol":"jabber","type":"work"}],"includeInGlobalAddressList":true,"ipWhitelisted":true,"isAdmin":true,"isDelegatedAdmin":true,"isEnforcedIn2Sv":false,"isEnrolledIn2Sv":true,"isMailboxSetup":true,"keywords":[{"type":"occupation","value":"Engineer"}],"kind":"admin#directory#user","languages":[{"languageCode":"en","preference":"preferred"}],"lastLoginTime":"2023-10-20T12:34:56Z","locations":[{"area":"Mountain View, CA","type":"default"}],"name":{"displayName":"John Doe","familyName":"Doe","fullName":"John Doe","givenName":"John"},"nonEditableAliases":["non_editable@example.com"],"notes":{"contentType":"text_plain","value":"Additional notes regarding the user."},"orgUnitPath":"/Engineering","organizations":[{"department":"Engineering","description":"Engineering Department","domain":"example.com","location":"Singapore","primary":true,"title":"Software Engineer"}],"password":"password123","phones":[{"primary":true,"type":"work","value":"123-456-7890"}],"posixAccounts":[{"accountId":"account_id_1","gecos":"GECOS","gid":1000,"homeDirectory":"/home/user","operatingSystemType":"Linux","primary":true,"shell":"/bin/bash","uid":1000}],"primaryEmail":"user@example.com","recoveryEmail":"recovery@example.com","recoveryPhone":"987-654-3210","relations":[{"type":"assistant","value":"adminassist@example.com"}],"sshPublicKeys":[{"expirationTimeUsec":1234567890,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC..."}],"suspended":false,"suspensionReason":"None","thumbnailPhotoEtag":"\"etag_photo\"","thumbnailPhotoUrl":"http://example.com/photo.jpg","websites":[{"type":"home_page","value":"https://example.com"}]}],"kind":"admin#directory#users","nextPageToken":"dummy_next_page_token"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Google Workspace Directory"],"summary":"Create a Google Workspace Directory User.","parameters":[{"in":"query","name":"resolveConflictAccount","description":"If set to true, the option selected for handling unmanaged user accounts will apply. Default: false.","schema":{"description":"If set to true, the option selected for handling unmanaged user accounts will apply. Default: false.","type":"boolean"},"style":"form"}],"requestBody":{"description":"Schema for Google User input operations (create/update) - supports patch semantics.\nEach field is nullish (optional + nullable) to support Google's patch API where: omitted fields are preserved; null clears the field; provided values update the field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InputUser"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Resource: User\nThe Directory API allows you to create and manage your account's users, user aliases, and user Google profile photos. For more information about common tasks, see the User Accounts Developer's Guide and the User Aliases Developer's Guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/user/me":{"get":{"tags":["Google Workspace Directory"],"summary":"Get the authenticated user's Google Workspace Directory record.","description":"Returns the Google Directory user record for the currently authenticated user. Uses the user's email to query the directory.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The authenticated user's Google Directory record, or null if not found.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/User"},{"type":"null"}]}}}}}}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}":{"get":{"tags":["Google Workspace Directory"],"summary":"Get a Google Workspace Directory User.","parameters":[{"in":"query","name":"customFieldMask","description":"A comma-separated list of schema names. All fields from these schemas are fetched. Should only be set when projection is CUSTOM.","schema":{"description":"A comma-separated list of schema names. All fields from these schemas are fetched. Should only be set when projection is CUSTOM.","type":"string"},"style":"form"},{"in":"query","name":"projection","description":"What subset of fields to fetch for this user.","schema":{"description":"What subset of fields to fetch for this user.","$ref":"#/components/schemas/Projection"},"style":"form"},{"in":"query","name":"viewType","description":"Whether to fetch the administrator-only or domain-wide public view of the user.","schema":{"description":"Whether to fetch the administrator-only or domain-wide public view of the user.","$ref":"#/components/schemas/ViewType"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Resource: User\nThe Directory API allows you to create and manage your account's users, user aliases, and user Google profile photos. For more information about common tasks, see the User Accounts Developer's Guide and the User Aliases Developer's Guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Google Workspace Directory"],"summary":"Update a Google Workspace Directory User (full replacement).","description":"Fields not included in the request body will be cleared. Use PATCH for partial updates.","requestBody":{"description":"Schema for Google User input operations (create/update) - supports patch semantics.\nEach field is nullish (optional + nullable) to support Google's patch API where: omitted fields are preserved; null clears the field; provided values update the field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InputUser"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Resource: User\nThe Directory API allows you to create and manage your account's users, user aliases, and user Google profile photos. For more information about common tasks, see the User Accounts Developer's Guide and the User Aliases Developer's Guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Directory"],"summary":"Delete a Google Workspace Directory User.","description":"Immediately and permanently deletes the user from Google Workspace. Returns 204 on success.","parameters":[{"in":"query","name":"replacement_manager_email","description":"Email of the replacement manager. When provided, all direct reports of the deleted user will be reassigned to this manager before deletion.","schema":{"description":"Email of the replacement manager. When provided, all direct reports of the deleted user will be reassigned to this manager before deletion.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"User deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["Google Workspace Directory"],"summary":"Patch a Google Workspace Directory User (partial update).","description":"Only modifies the fields included in the request body. Omitted fields are preserved.","requestBody":{"description":"Schema for Google User input operations (create/update) - supports patch semantics.\nEach field is nullish (optional + nullable) to support Google's patch API where: omitted fields are preserved; null clears the field; provided values update the field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InputUser"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Resource: User\nThe Directory API allows you to create and manage your account's users, user aliases, and user Google profile photos. For more information about common tasks, see the User Accounts Developer's Guide and the User Aliases Developer's Guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/watch":{"post":{"tags":["Google Workspace Directory"],"summary":"Watch for changes in the Google Workspace Directory Users list.","parameters":[{"in":"query","name":"customFieldMask","description":"Comma-separated list of schema names. All fields from these schemas are fetched. Set only when projection is custom.","schema":{"description":"Comma-separated list of schema names. All fields from these schemas are fetched. Set only when projection is custom.","type":"string"},"style":"form"},{"in":"query","name":"customer","description":"Immutable ID of the Google Workspace account. For multi-domain accounts, fill this field instead of domain.","schema":{"description":"Immutable ID of the Google Workspace account. For multi-domain accounts, fill this field instead of domain.","type":"string"},"style":"form"},{"in":"query","name":"domain","description":"Name of the domain. Fill this field to get users from only this domain. For multi-domain accounts, fill the customer field instead.","schema":{"description":"Name of the domain. Fill this field to get users from only this domain. For multi-domain accounts, fill the customer field instead.","type":"string"},"style":"form"},{"in":"query","name":"event","description":"Event type to watch for.","schema":{"description":"Event type to watch for.","$ref":"#/components/schemas/EventType"},"style":"form"},{"in":"query","name":"maxResults","description":"Maximum number of results to return.","schema":{"description":"Maximum number of results to return.","type":"integer","format":"uint32","minimum":0},"style":"form"},{"in":"query","name":"orderBy","description":"Column to use for sorting results.","schema":{"description":"Column to use for sorting results.","$ref":"#/components/schemas/OrderBy2"},"style":"form"},{"in":"query","name":"pageToken","description":"Token to specify next page in the list.","schema":{"description":"Token to specify next page in the list.","type":"string"},"style":"form"},{"in":"query","name":"projection","description":"Subset of fields to fetch for this user.","schema":{"description":"Subset of fields to fetch for this user.","$ref":"#/components/schemas/Projection"},"style":"form"},{"in":"query","name":"query","description":"Query string search. Follow the user search documentation.","schema":{"description":"Query string search. Follow the user search documentation.","type":"string"},"style":"form"},{"in":"query","name":"showDeleted","description":"If set to true, retrieves the list of deleted users (default: false).","schema":{"description":"If set to true, retrieves the list of deleted users (default: false).","type":"string"},"style":"form"},{"in":"query","name":"sortOrder","description":"Specifies whether to return results in ascending or descending order.","schema":{"description":"Specifies whether to return results in ascending or descending order.","$ref":"#/components/schemas/SortOrder2"},"style":"form"},{"in":"query","name":"viewType","description":"Specifies whether to fetch the administrator-only or domain-wide public view of the user.","schema":{"description":"Specifies whether to fetch the administrator-only or domain-wide public view of the user.","$ref":"#/components/schemas/ViewType"},"style":"form"}],"requestBody":{"description":"An notification channel used to watch for resource changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionChannel"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"An notification channel used to watch for resource changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionChannel"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/aliases":{"get":{"tags":["Google Workspace Directory"],"summary":"List aliases for a Google Workspace Directory User.","parameters":[{"in":"query","name":"event","description":"Event to watch for.","schema":{"description":"Event to watch for.","$ref":"#/components/schemas/UserAliasEvent"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"List of user aliases.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse13"},"example":{"etag":"\"dummy_etag\"","items":[{"alias":"john.doe.local@example.com","etag":"\"etag_value\"","id":"user_id","kind":"admin#directory#alias","primaryEmail":"john.doe@example.com"}],"kind":"admin#directory#aliases"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Google Workspace Directory"],"summary":"Insert a new alias for a Google Workspace Directory User.","requestBody":{"description":"Resource: UpdateUserAlias\nUpdate struct for UserAlias.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserAlias"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Resource: UserAlias\nThe Directory API manages aliases, which are alternative email addresses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAlias"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/aliases/watch":{"post":{"tags":["Google Workspace Directory"],"summary":"Watch for changes in the Google Workspace Directory User aliases list.","parameters":[{"in":"query","name":"event","description":"Event to watch for.","schema":{"description":"Event to watch for.","$ref":"#/components/schemas/UserAliasEvent"},"style":"form"}],"requestBody":{"description":"An notification channel used to watch for resource changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionChannel"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"An notification channel used to watch for resource changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionChannel"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/aliases/{alias}":{"delete":{"tags":["Google Workspace Directory"],"summary":"Delete an alias for a Google Workspace Directory User.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Alias deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/photos":{"get":{"tags":["Google Workspace Directory"],"summary":"Get the photo for a Google Workspace Directory User.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Represents a user photo resource with upload data and metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPhoto"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Google Workspace Directory"],"summary":"Update the photo for a Google Workspace Directory User.","requestBody":{"description":"Represents a user photo resource with upload data and metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserPhoto"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Represents a user photo resource with upload data and metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPhoto"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Directory"],"summary":"Delete the photo for a Google Workspace Directory User.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Photo deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/transfer-delete":{"post":{"tags":["Google Workspace Directory"],"summary":"Delete a Google Workspace user with data transfer.","description":"Suspends the user immediately, enqueues an async background job that initiates a data transfer to the specified recipient, polls for completion, then deletes the user.","requestBody":{"description":"Request body for the transfer-delete endpoint. Initiates an async deletion with data transfer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferDeletionRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"202":{"description":"Async deletion job enqueued. User suspended and data transfer will be initiated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnqueuedDeletionResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/makeAdmin":{"post":{"tags":["Google Workspace Directory"],"summary":"Make a Google Workspace Directory User an administrator or revoke their administrator status.","requestBody":{"content":{"application/json":{"schema":{"type":"boolean"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"User admin status updated successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/signOut":{"post":{"tags":["Google Workspace Directory"],"summary":"Sign out a Google Workspace Directory User from all devices.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"User signed out successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/send-sign-in-instructions":{"post":{"tags":["Google Workspace Directory"],"summary":"Send sign-in instructions to a Google Workspace user.","description":"Generates a temporary password, sets it on the Google user with changePasswordAtNextLogin, and sends a branded email with sign-in instructions to the specified recipient.","requestBody":{"description":"Request body for sending sign-in instructions to a Google Workspace user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendSignInInstructionsRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"Sign-in instructions sent successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/send-password-reset":{"post":{"tags":["Google Workspace Directory"],"summary":"Send a password reset email for a Google Workspace user.","description":"Sends a branded email with the new password and sign-in link to the specified recipient. Does not modify the Google user — the caller sets the password separately via PATCH.","requestBody":{"description":"Request body for sending a password reset email for a Google Workspace user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendPasswordResetRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"Password reset email sent successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/{user_key}/undelete":{"post":{"tags":["Google Workspace Directory"],"summary":"Undelete a previously deleted Google Workspace Directory User.","requestBody":{"description":"Represents a user undelete request containing the organizational unit of the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUndelete"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"User undeleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/directory/users/groups/count":{"get":{"tags":["Google Workspace Directory"],"summary":"Retrieve counts of Google Workspace groups that each user belongs to.","description":"Returns a map of Google user IDs to the count of groups they belong to.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A map of Google user IDs to their group count.","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer","format":"uint64","minimum":0}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/groups/settings/{group_key}":{"get":{"tags":["Google Workspace Groups"],"summary":"Retrieve settings for a Google Workspace Group.","parameters":[{"in":"query","name":"alt","description":"The format of the response. Possible values are 'json' or 'atom'. Defaults to json.","schema":{"description":"The format of the response. Possible values are 'json' or 'atom'. Defaults to json.","$ref":"#/components/schemas/Alt"},"style":"form"},{"in":"query","name":"fields","description":"A comma-separated list of fields to include in the response.","schema":{"description":"A comma-separated list of fields to include in the response.","type":"string"},"style":"form"},{"in":"query","name":"prettyPrint","description":"PrettyPrint the response.","schema":{"description":"PrettyPrint the response.","type":"boolean"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A Groups Settings resource includes metadata with a summary of a specified group's settings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSettings"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Google Workspace Groups"],"summary":"Update settings for a Google Workspace Group.","requestBody":{"description":"Update group settings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGroupSettings"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A Groups Settings resource includes metadata with a summary of a specified group's settings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSettings"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/groups/bulk-apply-template":{"put":{"tags":["Google Workspace Groups"],"summary":"Bulk apply a group settings template to multiple groups.","description":"Applies one of the 4 standard templates (standard, internal, restricted, teamManaged) to the specified groups via the Google Groups Settings API. Returns per-group success/failure results.","requestBody":{"description":"Request to apply a group settings template to multiple groups at once","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkApplyTemplateRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Response containing per-group results of a bulk template application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkApplyTemplateResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/admin/reports/{user_key}/{application_name}":{"get":{"tags":["Google Workspace Admin Reports"],"summary":"List Token activities (Admin Reports). Only application_name=token is currently supported.","parameters":[{"in":"query","name":"actorIpAddress","description":"The Internet Protocol (IP) address where the event was performed.","schema":{"description":"The Internet Protocol (IP) address where the event was performed.","type":"string"},"style":"form"},{"in":"query","name":"customerId","description":"The unique ID of the customer to retrieve data for.","schema":{"description":"The unique ID of the customer to retrieve data for.","type":"string"},"style":"form"},{"in":"query","name":"endTime","description":"The end of the time range for the report in RFC 3339 format.","schema":{"description":"The end of the time range for the report in RFC 3339 format.","type":"string"},"style":"form"},{"in":"query","name":"eventName","description":"The name of the event being queried by the API.","schema":{"description":"The name of the event being queried by the API.","type":"string"},"style":"form"},{"in":"query","name":"filters","description":"A comma-separated list of filters with event parameters and relational operators.","schema":{"description":"A comma-separated list of filters with event parameters and relational operators.","type":"string"},"style":"form"},{"in":"query","name":"groupIdFilter","description":"Comma separated group ids on which user activities are filtered.","schema":{"description":"Comma separated group ids on which user activities are filtered.","type":"string"},"style":"form"},{"in":"query","name":"maxResults","description":"Determines how many activity records are shown on each response page. Defaults to 1000.","schema":{"description":"Determines how many activity records are shown on each response page. Defaults to 1000.","type":"integer","format":"uint32","minimum":0},"style":"form"},{"in":"query","name":"orgUnitId","description":"ID of the organizational unit to report on.","schema":{"description":"ID of the organizational unit to report on.","type":"string"},"style":"form"},{"in":"query","name":"pageToken","description":"The token to specify the next page of results in a multi-page report.","schema":{"description":"The token to specify the next page of results in a multi-page report.","type":"string"},"style":"form"},{"in":"query","name":"startTime","description":"The beginning of the time range for the report in RFC 3339 format.","schema":{"description":"The beginning of the time range for the report in RFC 3339 format.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse14"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/admin/reports/me/{application_name}":{"get":{"tags":["Google Workspace Admin Reports"],"summary":"List Token activities (Admin Reports) for the current authenticated user. Only application_name=token is supported.","parameters":[{"in":"query","name":"actorIpAddress","description":"The Internet Protocol (IP) address where the event was performed.","schema":{"description":"The Internet Protocol (IP) address where the event was performed.","type":"string"},"style":"form"},{"in":"query","name":"customerId","description":"The unique ID of the customer to retrieve data for.","schema":{"description":"The unique ID of the customer to retrieve data for.","type":"string"},"style":"form"},{"in":"query","name":"endTime","description":"The end of the time range for the report in RFC 3339 format.","schema":{"description":"The end of the time range for the report in RFC 3339 format.","type":"string"},"style":"form"},{"in":"query","name":"eventName","description":"The name of the event being queried by the API.","schema":{"description":"The name of the event being queried by the API.","type":"string"},"style":"form"},{"in":"query","name":"filters","description":"A comma-separated list of filters with event parameters and relational operators.","schema":{"description":"A comma-separated list of filters with event parameters and relational operators.","type":"string"},"style":"form"},{"in":"query","name":"groupIdFilter","description":"Comma separated group ids on which user activities are filtered.","schema":{"description":"Comma separated group ids on which user activities are filtered.","type":"string"},"style":"form"},{"in":"query","name":"maxResults","description":"Determines how many activity records are shown on each response page. Defaults to 1000.","schema":{"description":"Determines how many activity records are shown on each response page. Defaults to 1000.","type":"integer","format":"uint32","minimum":0},"style":"form"},{"in":"query","name":"orgUnitId","description":"ID of the organizational unit to report on.","schema":{"description":"ID of the organizational unit to report on.","type":"string"},"style":"form"},{"in":"query","name":"pageToken","description":"The token to specify the next page of results in a multi-page report.","schema":{"description":"The token to specify the next page of results in a multi-page report.","type":"string"},"style":"form"},{"in":"query","name":"startTime","description":"The beginning of the time range for the report in RFC 3339 format.","schema":{"description":"The beginning of the time range for the report in RFC 3339 format.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse14"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/apps/licensing/product/{product_id}/users":{"get":{"tags":["Google Workspace Licensing"],"summary":"List license assignments for a specific product.","parameters":[{"in":"query","name":"customerId","description":"The customer's unique ID as defined in the Admin console, such as C00000000. If the customer is suspended, the server returns an error.","required":true,"schema":{"description":"The customer's unique ID as defined in the Admin console, such as C00000000. If the customer is suspended, the server returns an error.","type":"string"},"style":"form"},{"in":"query","name":"maxResults","description":"The maxResults query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.","schema":{"description":"The maxResults query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.","type":"integer","format":"uint32","minimum":0},"style":"form"},{"in":"query","name":"pageToken","description":"Token to fetch the next page of data. The maxResults query string is related to the pageToken since maxResults determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.","schema":{"description":"Token to fetch the next page of data. The maxResults query string is related to the pageToken since maxResults determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of license assignments for the product.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse15"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/apps/licensing/product/{product_id}/sku/{sku_id}/users":{"get":{"tags":["Google Workspace Licensing"],"summary":"List license assignments for a specific product and SKU.","parameters":[{"in":"query","name":"customerId","description":"The customer's unique ID as defined in the Admin console, such as C00000000. If the customer is suspended, the server returns an error.","required":true,"schema":{"description":"The customer's unique ID as defined in the Admin console, such as C00000000. If the customer is suspended, the server returns an error.","type":"string"},"style":"form"},{"in":"query","name":"maxResults","description":"The maxResults query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.","schema":{"description":"The maxResults query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.","type":"integer","format":"uint32","minimum":0},"style":"form"},{"in":"query","name":"pageToken","description":"Token to fetch the next page of data. The maxResults query string is related to the pageToken since maxResults determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.","schema":{"description":"Token to fetch the next page of data. The maxResults query string is related to the pageToken since maxResults determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of license assignments for the product and SKU.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse15"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/apps/licensing/product/{product_id}/sku/{sku_id}/user/{user_id}":{"get":{"tags":["Google Workspace Licensing"],"summary":"Retrieve a specific license assignment.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Representation of a license assignment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseAssignment"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Google Workspace Licensing"],"summary":"Update an existing license assignment.","requestBody":{"description":"Representation of an update license assignment request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLicenseAssignment"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Representation of a license assignment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseAssignment"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Workspace Licensing"],"summary":"Delete a license assignment.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"License assignment deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/apps/licensing/product/{product_id}/sku/{sku_id}/user":{"post":{"tags":["Google Workspace Licensing"],"summary":"Create a new license assignment.","requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Representation of a license assignment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseAssignment"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/cloud_identity/inbound_saml_sso_profiles":{"get":{"tags":["Google Cloud Identity SSO"],"summary":"List inbound SAML SSO profiles.","parameters":[{"in":"query","name":"filter","description":"A CEL expression to filter the results. Example: `customer==customers/C0123abc`.","schema":{"description":"A CEL expression to filter the results. Example: `customer==customers/C0123abc`.","type":"string"},"style":"form"},{"in":"query","name":"pageSize","description":"The maximum number of assignments to return. Maximum value is 100.","schema":{"description":"The maximum number of assignments to return. Maximum value is 100.","type":"integer","format":"int32"},"style":"form"},{"in":"query","name":"pageToken","description":"A page token received from a previous list call to retrieve the next page.","schema":{"description":"A page token received from a previous list call to retrieve the next page.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of inbound SAML SSO profiles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundSamlSsoProfilesListResponse"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Google Cloud Identity SSO"],"summary":"Create a new inbound SAML SSO profile.","requestBody":{"description":"A SAML 2.0 federation between a Google enterprise customer and a SAML identity provider.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundSamlSsoProfile"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Represents a long-running operation resulting from a network API call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/cloud_identity/inbound_saml_sso_profile/{profile_name}":{"get":{"tags":["Google Cloud Identity SSO"],"summary":"Retrieve a specific inbound SAML SSO profile.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A SAML 2.0 federation between a Google enterprise customer and a SAML identity provider.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundSamlSsoProfile"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Cloud Identity SSO"],"summary":"Delete an inbound SAML SSO profile.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Represents a long-running operation resulting from a network API call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["Google Cloud Identity SSO"],"summary":"Update an existing inbound SAML SSO profile.","requestBody":{"description":"A SAML 2.0 federation between a Google enterprise customer and a SAML identity provider.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundSamlSsoProfile"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Represents a long-running operation resulting from a network API call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/cloud_identity/inbound_saml_sso_profile/{profile_id}/idp_credentials":{"get":{"tags":["Google Cloud Identity SSO"],"summary":"List IdP credentials for an inbound SAML SSO profile.","parameters":[{"in":"query","name":"pageSize","description":"The maximum number of IdpCredentials to return. The service may return fewer than this value.","schema":{"description":"The maximum number of IdpCredentials to return. The service may return fewer than this value.","type":"integer","format":"int32"},"style":"form"},{"in":"query","name":"pageToken","description":"A page token, received from a previous idpCredentials.list call. Provide this to retrieve the subsequent page.","schema":{"description":"A page token, received from a previous idpCredentials.list call. Provide this to retrieve the subsequent page.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Response of the InboundSamlSsoProfilesService.ListIdpCredentials method.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListIdpCredentialsResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/cloud_identity/inbound_saml_sso_profile/{profile_id}/idp_credential/{credential_id}":{"get":{"tags":["Google Cloud Identity SSO"],"summary":"Retrieve a specific IdP credential.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Represents a credential for verifying signatures produced by the Identity Provider.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdpCredential"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Cloud Identity SSO"],"summary":"Delete an IdP credential.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Represents a long-running operation resulting from a network API call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/cloud_identity/inbound_sso_assignments":{"get":{"tags":["Google Cloud Identity SSO"],"summary":"List inbound SSO assignments.","parameters":[{"in":"query","name":"filter","description":"A CEL expression to filter the results. Example: `customer==customers/C0123abc`.","schema":{"description":"A CEL expression to filter the results. Example: `customer==customers/C0123abc`.","type":"string"},"style":"form"},{"in":"query","name":"pageSize","description":"The maximum number of assignments to return. Maximum value is 100.","schema":{"description":"The maximum number of assignments to return. Maximum value is 100.","type":"integer","format":"int32"},"style":"form"},{"in":"query","name":"pageToken","description":"A page token received from a previous list call to retrieve the next page.","schema":{"description":"A page token received from a previous list call to retrieve the next page.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of inbound SSO assignments.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundSsoAssignmentListResponse"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Google Cloud Identity SSO"],"summary":"Create a new inbound SSO assignment.","requestBody":{"description":"Represents an Inbound SSO Assignment in the Google Workspace Admin API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundSsoAssignment"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Represents a long-running operation resulting from a network API call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/cloud_identity/inbound_sso_assignment/{assignment_name}":{"get":{"tags":["Google Cloud Identity SSO"],"summary":"Retrieve a specific inbound SSO assignment.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Represents an Inbound SSO Assignment in the Google Workspace Admin API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundSsoAssignment"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Google Cloud Identity SSO"],"summary":"Delete an inbound SSO assignment.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Represents a long-running operation resulting from a network API call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["Google Cloud Identity SSO"],"summary":"Update an existing inbound SSO assignment.","requestBody":{"description":"Represents an Inbound SSO Assignment in the Google Workspace Admin API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundSsoAssignment"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Represents an Inbound SSO Assignment in the Google Workspace Admin API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundSsoAssignment"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/datatransfer/applications":{"get":{"tags":["Google Workspace Data Transfer"],"summary":"List applications available for data transfer.","description":"Returns the list of Google Workspace applications that support data transfer.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericListResponse16"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/datatransfer/transfers":{"post":{"tags":["Google Workspace Data Transfer"],"summary":"Initiate a data transfer for a Google Workspace user.","description":"Proxies a data transfer request to the Google Data Transfer API.","requestBody":{"description":"A Data Transfer resource representing the transfer of user data ownership between users.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataTransfer"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"A Data Transfer resource representing the transfer of user data ownership between users.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataTransfer"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google/{directory_id}/datatransfer/transfers/{transfer_id}":{"get":{"tags":["Google Workspace Data Transfer"],"summary":"Get the status of a data transfer request.","description":"Retrieves the current status of a data transfer from the Google Data Transfer API.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A Data Transfer resource representing the transfer of user data ownership between users.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataTransfer"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/google-user-deletion-jobs":{"get":{"tags":["Google User Deletion Jobs"],"summary":"Get Google user deletion jobs","description":"A paginated list of Google user deletion jobs.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult8"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/groups":{"get":{"tags":["Groups"],"summary":"Fetch all groups.","parameters":[{"in":"query","name":"filter","description":"A filter for the group name to apply to the results.","schema":{"description":"A filter for the group name to apply to the results.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"visibility","description":"Limit the response to the type of group visibility. Valid entries are Apps, Groups, or All. ","required":true,"schema":{"description":"Limit the response to the type of group visibility. Valid entries are Apps, Groups, or All. ","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult9"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group":{"post":{"tags":["Groups"],"summary":"Create a new group.","requestBody":{"description":"The composite group to create or update.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateCompositeGroup"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A composite group response that includes optional status fields for Google extension operations.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompositeGroupWithStatuses"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group/{composite_group_id}":{"get":{"tags":["Groups"],"summary":"Fetch a specific group by its ID.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompositeGroup"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Groups"],"summary":"Update an existing group.","requestBody":{"description":"The composite group to create or update.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateCompositeGroup"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A composite group response that includes optional status fields for Google extension operations.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompositeGroupWithStatuses"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Groups"],"summary":"Delete an existing group.","parameters":[{"in":"query","name":"delete_from_google","description":"When true, also delete the group from Google Workspace.\nFor Google-only groups this is implicit. For synced JumpCloud+Google groups,\nthis controls whether the Google side is also removed.","schema":{"description":"When true, also delete the group from Google Workspace.\nFor Google-only groups this is implicit. For synced JumpCloud+Google groups,\nthis controls whether the Google side is also removed.","type":"boolean","default":false},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Group deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group/{composite_group_id}/members":{"get":{"tags":["Groups"],"summary":"Fetch the members of a specific group by its ID.","description":"Returns all membership rows for the group, including individually assigned, dynamic, nested, and external members.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupMembership"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group/{composite_group_id}/resolved-members":{"get":{"tags":["Groups"],"summary":"Fetch all resolved members of a group.","description":"Resolves ALL member types — static from DB, nested recursively, and dynamic — deduplicates by user_id, and returns a flat list.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ResolvedGroupMember"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/groups/resolved-members/batch":{"post":{"tags":["Groups"],"summary":"Batch-resolve members for multiple groups.","description":"Resolves members for multiple composite groups in a single call, fetching directory users once per directory instead of once per group. Max 100 groups per request.","requestBody":{"description":"Request to resolve members for multiple composite groups in a single call","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchResolveGroupMembersRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Resolved members for multiple groups, keyed by composite_group_id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchResolveGroupMembersResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group/{composite_group_id}/tag":{"patch":{"tags":["Groups"],"summary":"Update only the tag on a group.","description":"Lightweight endpoint that updates group_org_tag_id without triggering external provider reconciliation.","requestBody":{"description":"Request body for updating a group's tag.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGroupTagRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompositeGroup"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group/tags":{"get":{"tags":["Groups"],"summary":"List group tags","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult10"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group/tag":{"post":{"tags":["Groups"],"summary":"Create a new group tag for an organization","requestBody":{"description":"Payload to create an organization-scoped group tag.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGroupTag"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"An organization-scoped tag that can be assigned to groups within an org. It may reference a global tag template via global_tag_id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupTag"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group/tag/{id}":{"get":{"tags":["Groups"],"summary":"Get a specific group tag","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"An organization-scoped tag that can be assigned to groups within an org. It may reference a global tag template via global_tag_id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupTag"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Groups"],"summary":"Update a group tag","requestBody":{"description":"Payload to update an organization-scoped group tag. All fields are optional.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGroupTag"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"An organization-scoped tag that can be assigned to groups within an org. It may reference a global tag template via global_tag_id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupTag"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Groups"],"summary":"Delete a group tag","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"no content"}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group/tag/purposes":{"get":{"tags":["Groups"],"summary":"List group tag purposes","description":"Returns canonical group tag purposes used to categorize group tags.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult12"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group/tag/purpose/{id}":{"get":{"tags":["Groups"],"summary":"Get a group tag purpose by ID","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Defines a purpose/category for group tags.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupTagPurpose"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group/tag/global":{"get":{"tags":["Groups"],"summary":"List global group tag templates","description":"Returns global group tag templates that can be created for an organization.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult11"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/group/tag/global/{id}":{"get":{"tags":["Groups"],"summary":"Get a global group tag template by ID","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A global tag definition that can be applied across organizations.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupGlobalTag"}}}}},"security":[{"BearerAuth":[]}]}},"/api/integrations/catalog":{"get":{"tags":["Connector Catalog"],"summary":"Retrieve a paginated list of items in the connector catalog.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult13"}}}}},"security":[{"BearerAuth":[]}]}},"/api/integrations/catalog/type/{integration_type}":{"get":{"tags":["Connector Catalog"],"summary":"Retrieve a paginated list of items in the connector catalog by type.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult13"}}}}},"security":[{"BearerAuth":[]}]}},"/api/integrations/catalog/{catalog_id}":{"get":{"tags":["Connector Catalog"],"summary":"Retrieve a specific connector catalog item by its ID.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"An integration catalog entry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationCatalog"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/integrations":{"get":{"tags":["Connectors"],"summary":"Retrieve a list of connectors.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult14"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/integrations/type/{integration_type}":{"get":{"tags":["Connectors"],"summary":"Retrieve a list of connectors by type.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult14"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/integration":{"post":{"tags":["Connectors"],"summary":"Create a new integration.","requestBody":{"description":"Create an integration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIntegration"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"An integration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/integration/{integration_id}":{"get":{"tags":["Connectors"],"summary":"Retrieve a specific connector.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"An integration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Connectors"],"summary":"Update an existing connector.","description":"This call is only used to update the status of an connector to enable and disable it.","requestBody":{"description":"Update an integration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateIntegration"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"An integration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Connectors"],"summary":"Delete a specific connector.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Connector deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/integration/{integration_id}/refresh":{"get":{"tags":["Connectors"],"summary":"Refresh a specific connector to update user counts or trigger sync.","description":"Routes to the appropriate execution method: Workato API endpoints (if workato_folder exists) or Step Functions workflows (HRIS sync for sub_type='hris', user count for sub_type='oauth'). Supports dry-run mode for HRIS integrations.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Refresh initiated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationRefreshResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/integration/{integration_id}/executions":{"get":{"tags":["Connectors"],"summary":"Retrieve execution history for a specific integration.","description":"Returns a paginated list of Step Functions executions for HRIS sync workflows. Includes execution status, timing, input parameters, and output summaries.","parameters":[{"in":"query","name":"limit","description":"Maximum number of executions to return (default: 50, max: 100)","schema":{"description":"Maximum number of executions to return (default: 50, max: 100)","type":"integer","format":"uint32","default":50,"minimum":0},"style":"form"},{"in":"query","name":"next_token","description":"Token for pagination (returned from previous request)","schema":{"description":"Token for pagination (returned from previous request)","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Execution history retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionsResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/keys/active":{"get":{"tags":["API Keys"],"summary":"Retrieve active API keys.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","parameters":[{"in":"query","name":"org_id","description":"Filter by the organization ID of the API key owner.","schema":{"description":"Filter by the organization ID of the API key owner.","type":"string"},"style":"form"},{"in":"query","name":"page_number","description":"The page number to return.","schema":{"description":"The page number to return.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of results to return per page.","schema":{"description":"The number of results to return per page.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"user_email","description":"Filter by the email of the API key owner.","schema":{"description":"Filter by the email of the API key owner.","type":"string"},"style":"form"},{"in":"query","name":"user_id","description":"Filter by the PropelAuth user ID of the API key owner.","schema":{"description":"Filter by the PropelAuth user ID of the API key owner.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A list of active API keys for the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchApiKeysPagedResponse"},"example":{"api_keys":[{"api_key_id":"fe270ea63892fc557e1afd8a46216a31","created_at":1738556938,"display_name":"Test Key","expires_at_seconds":null,"metadata":{"api_key_name":"Test Key","api_key_purpose":"Local testing","api_key_source":"dan@shiftcontrol.io"},"org_id":"3756d031-835e-45f5-a709-82ec7335957f","user_id":null}],"current_page":1,"has_more_results":false,"page_size":100,"total_api_keys":1}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/user/{user_id}/keys/active":{"get":{"tags":["API Keys"],"summary":"Retrieve active API keys for a specific user.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","parameters":[{"in":"query","name":"org_id","description":"Filter by the organization ID of the API key owner.","schema":{"description":"Filter by the organization ID of the API key owner.","type":"string"},"style":"form"},{"in":"query","name":"page_number","description":"The page number to return.","schema":{"description":"The page number to return.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of results to return per page.","schema":{"description":"The number of results to return per page.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"user_email","description":"Filter by the email of the API key owner.","schema":{"description":"Filter by the email of the API key owner.","type":"string"},"style":"form"},{"in":"query","name":"user_id","description":"Filter by the PropelAuth user ID of the API key owner.","schema":{"description":"Filter by the PropelAuth user ID of the API key owner.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A list of active API keys for the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchApiKeysPagedResponse"},"example":{"api_keys":[{"api_key_id":"fe270ea63892fc557e1afd8a46216a31","created_at":1738556938,"display_name":"Test Key","expires_at_seconds":null,"metadata":{"api_key_name":"Test Key","api_key_purpose":"Local testing","api_key_source":"dan@shiftcontrol.io"},"org_id":"3756d031-835e-45f5-a709-82ec7335957f","user_id":null}],"current_page":1,"has_more_results":false,"page_size":100,"total_api_keys":1}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/keys/expired":{"get":{"tags":["API Keys"],"summary":"Retrieve expired API keys.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","parameters":[{"in":"query","name":"org_id","description":"Filter by the organization ID of the API key owner.","schema":{"description":"Filter by the organization ID of the API key owner.","type":"string"},"style":"form"},{"in":"query","name":"page_number","description":"The page number to return.","schema":{"description":"The page number to return.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of results to return per page.","schema":{"description":"The number of results to return per page.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"user_email","description":"Filter by the email of the API key owner.","schema":{"description":"Filter by the email of the API key owner.","type":"string"},"style":"form"},{"in":"query","name":"user_id","description":"Filter by the PropelAuth user ID of the API key owner.","schema":{"description":"Filter by the PropelAuth user ID of the API key owner.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A list of expired API keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchApiKeysPagedResponse"},"example":{"api_keys":[{"api_key_id":"fe270ea63892fc557e1afd8a46216a31","created_at":1738556938,"display_name":"Test Key","expires_at_seconds":null,"metadata":{"api_key_name":"Test Key","api_key_purpose":"Local testing","api_key_source":"dan@shiftcontrol.io"},"org_id":"3756d031-835e-45f5-a709-82ec7335957f","user_id":null}],"current_page":1,"has_more_results":false,"page_size":100,"total_api_keys":1}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/user/{user_id}/keys/expired":{"get":{"tags":["API Keys"],"summary":"Retrieve expired API keys for a specific user.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","parameters":[{"in":"query","name":"org_id","description":"Filter by the organization ID of the API key owner.","schema":{"description":"Filter by the organization ID of the API key owner.","type":"string"},"style":"form"},{"in":"query","name":"page_number","description":"The page number to return.","schema":{"description":"The page number to return.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of results to return per page.","schema":{"description":"The number of results to return per page.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"user_email","description":"Filter by the email of the API key owner.","schema":{"description":"Filter by the email of the API key owner.","type":"string"},"style":"form"},{"in":"query","name":"user_id","description":"Filter by the PropelAuth user ID of the API key owner.","schema":{"description":"Filter by the PropelAuth user ID of the API key owner.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A list of expired API keys for the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchApiKeysPagedResponse"},"example":{"api_keys":[{"api_key_id":"fe270ea63892fc557e1afd8a46216a31","created_at":1738556938,"display_name":"Test Key","expires_at_seconds":null,"metadata":{"api_key_name":"Test Key","api_key_purpose":"Local testing","api_key_source":"dan@shiftcontrol.io"},"org_id":"3756d031-835e-45f5-a709-82ec7335957f","user_id":null}],"current_page":1,"has_more_results":false,"page_size":100,"total_api_keys":1}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/keys/{key_id}":{"get":{"tags":["API Keys"],"summary":"Retrieve a specific API key. ","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The API key details for the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchApiKeyResponse"},"example":{"api_key_id":"fe270ea63892fc557e1afd8a46216a31","created_at":1738556938,"display_name":"Test Key","expires_at_seconds":null,"metadata":{"api_key_name":"Test Key","api_key_purpose":"Local testing","api_key_source":"dan@shiftcontrol.io"},"org_id":"3756d031-835e-45f5-a709-82ec7335957f","user_id":null}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["API Keys"],"summary":"Update a specific API key.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","requestBody":{"description":"Update an API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyUpdateApiKeyParams"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"API key updated successfully. No content returned."}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["API Keys"],"summary":"Delete a specific API key.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"API key deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/user/{user_id}/keys/{key_id}":{"get":{"tags":["API Keys"],"summary":"Retrieve a specific API key for a user.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The API key details for the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchApiKeyResponse"},"example":{"api_key_id":"fe270ea63892fc557e1afd8a46216a31","created_at":1738556938,"display_name":"Test Key","expires_at_seconds":null,"metadata":{"api_key_name":"Test Key","api_key_purpose":"Local testing","api_key_source":"dan@shiftcontrol.io"},"org_id":"3756d031-835e-45f5-a709-82ec7335957f","user_id":null}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["API Keys"],"summary":"Update a specific API key for a user.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","requestBody":{"description":"Update an API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyUpdateApiKeyParams"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"API key updated successfully. No content returned."}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["API Keys"],"summary":"Delete a specific API key for a user. ","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"API key deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/keys":{"post":{"tags":["API Keys"],"summary":"Create a new API key. ","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","requestBody":{"description":"Create an API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyCreateApiKeyParams"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"The details of the newly created API key for the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyResponse"},"example":{"api_key_id":"afb21e91455415e3e82e01b8c8db5304","api_key_token":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/user/{user_id}/keys":{"post":{"tags":["API Keys"],"summary":"Create a new API key for a user.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","requestBody":{"description":"Create an API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyCreateApiKeyParams"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"The details of the newly created API key for the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyResponse"},"example":{"api_key_id":"afb21e91455415e3e82e01b8c8db5304","api_key_token":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/keys/validate":{"post":{"tags":["API Keys"],"summary":"Validate a specific org or user API key.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyValidateApiKeyParams"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The validation details of the API key for the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyValidateApiKeyResponse"},"example":{"metadata":{"api_key_name":"API Key Test","api_key_purpose":"A Local test key","api_key_source":"dan@shiftcontrol.io"},"org":{"can_setup_saml":true,"max_users":null,"metadata":{"Test":"test"},"org_id":"3756d031-835e-45f5-a709-82ec7335957f","org_name":"Test Org"},"user":null,"user_in_org":null}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/locations":{"get":{"tags":["Locations"],"summary":"Retrieve a list of locations.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult15"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/location":{"post":{"tags":["Locations"],"summary":"Create a new location.","requestBody":{"description":"Create a location.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLocation"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"A location in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Location2"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/location/{location_id}":{"get":{"tags":["Locations"],"summary":"Retrieve details of a specific location.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A location in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Location2"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Locations"],"summary":"Update details of a specific location.","requestBody":{"description":"Update a location.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLocation"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A location in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Location2"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Locations"],"summary":"Delete a specific location.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Location deleted successfully."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/custom_fields":{"get":{"tags":["CustomFields"],"summary":"Retrieve a list of custom fields.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult18"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/custom_field":{"post":{"tags":["CustomFields"],"summary":"Create a new custom field.","requestBody":{"description":"Create a custom field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomField"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"A custom field for users in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/custom_field/{custom_field_id}":{"get":{"tags":["CustomFields"],"summary":"Retrieve details of a specific custom field.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A custom field for users in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["CustomFields"],"summary":"Update a custom field.","requestBody":{"description":"Update a custom field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomField"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A custom field for users in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["CustomFields"],"summary":"Delete a custom field.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Custom field deleted successfully."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/directories":{"get":{"tags":["Directories"],"summary":"Retrieve a list of directories.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult16"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/directory/{directory_id}":{"get":{"tags":["Directories"],"summary":"Retrieve details of a specific directory.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A directory in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Directory2"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Directories"],"summary":"Update details of a specific directory.","description":"If setting is_primary to true, the directory must be linked to an Integration with integration_sub_type = 'idp'. When a directory is set as primary, any existing primary directory in the same org will be automatically demoted (is_primary = false).","requestBody":{"description":"Update a directory.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDirectory"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A directory in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Directory2"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Directories"],"summary":"Delete a specific directory.","description":"Primary directories cannot be deleted.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Directory deleted successfully."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/directory":{"post":{"tags":["Directories"],"summary":"Create a new directory.","description":"If is_primary is true, the directory must be linked to an Integration with integration_sub_type = 'idp'. When a new primary is created, any existing primary directory in the same org will be automatically demoted (is_primary = false).","requestBody":{"description":"Create a directory.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDirectory"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"A directory in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Directory2"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee_portal/apps":{"get":{"tags":["Employee Portal"],"summary":"Retrieve the list of apps assigned to the current user in the employee portal.","description":"Returns apps from the local database via composite group membership. Works for all organizations regardless of directory provider (Google, JumpCloud, or both). Only supports user access tokens (JWT).","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmployeePortalAppResponse"}}}}}}}},"/api/{org_id}/employee_portal/directory":{"get":{"tags":["Employee Portal"],"summary":"Retrieve the organization directory.","description":"Returns all active users from configured directories (JumpCloud, Google Workspace, or both), merged by email.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"List of minimal directory users for the employee portal.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeDirectoryUserList"}}}}}}},"/api/{org_id}/employee_portal/directories":{"get":{"tags":["Employee Portal"],"summary":"List the organization's enabled directories (employee portal).","description":"Returns a minimal summary (id, name, primary flag, enabled) of each enabled directory so a non-admin member can resolve provider/directory info — e.g. the Google directory id used by the member's own OAuth app-permissions view — without the admin-scoped GET /directories list.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmployeePortalDirectory"}}}}}}}},"/api/{org_id}/employee_portal/requestable-apps":{"get":{"tags":["Employee Portal"],"summary":"List apps available to request in the catalog (employee portal).","description":"Returns every active app in your organization so you can browse the catalog and request access.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RequestableAppResponse"}}}}}}}},"/api/{org_id}/employee_portal/work-items":{"get":{"tags":["Employee Portal"],"summary":"List work items for the current user (employee portal).","description":"Offset-paginated list of work items the calling user is involved with. The optional `?involvement=` query parameter scopes the result to one of `assignee`, `target`, `originated`, `watcher`, or `any` (default `any`). Other list filters (status, type, source, target user/app, parent_id, unapproved, free-text title) work the same as on the admin endpoint.","parameters":[{"in":"query","name":"assignee_email","description":"Filter to work items whose assignee email matches (case-insensitive).","schema":{"description":"Filter to work items whose assignee email matches (case-insensitive).","type":"string"},"style":"form"},{"in":"query","name":"assignee_user_id","description":"Filter to work items currently assigned to this user UUID.","schema":{"description":"Filter to work items currently assigned to this user UUID.","type":"string","format":"uuid"},"style":"form"},{"in":"query","name":"filter","description":"Free-text filter applied to the work item title (case-insensitive substring match).","schema":{"description":"Free-text filter applied to the work item title (case-insensitive substring match).","type":"string"},"style":"form"},{"in":"query","name":"involvement","description":"Restrict the result set by how the calling user is involved with each work item: assignee, target, originated, watcher, or any (default any).","schema":{"description":"Restrict the result set by how the calling user is involved with each work item: assignee, target, originated, watcher, or any (default any).","$ref":"#/components/schemas/InvolvementFilter"},"style":"form"},{"in":"query","name":"open","description":"When true, return only open work items — those not yet DONE or CANCELED.","schema":{"description":"When true, return only open work items — those not yet DONE or CANCELED.","type":"boolean"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0. Defaults to 0 when omitted.","schema":{"description":"The page to retrieve, always starts at 0. Defaults to 0 when omitted.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Defaults to 10 when omitted; values below 1 are treated as 1.","schema":{"description":"The number of items to retrieve per page. Defaults to 10 when omitted; values below 1 are treated as 1.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"parent_id","description":"Filter to work items whose parent_id matches this UUID (i.e. children of a given parent).","schema":{"description":"Filter to work items whose parent_id matches this UUID (i.e. children of a given parent).","type":"string","format":"uuid"},"style":"form"},{"in":"query","name":"source","description":"Filter to work items with this source value (e.g. MANUAL_ADMIN, EMPLOYEE_REQUEST, SCIM, HRIS_EVENT).","schema":{"description":"Filter to work items with this source value (e.g. MANUAL_ADMIN, EMPLOYEE_REQUEST, SCIM, HRIS_EVENT).","$ref":"#/components/schemas/WorkItemSourceEnum"},"style":"form"},{"in":"query","name":"status","description":"Filter to work items in this status (e.g. NEW, IN_PROGRESS, BLOCKED, DONE, CANCELED).","schema":{"description":"Filter to work items in this status (e.g. NEW, IN_PROGRESS, BLOCKED, DONE, CANCELED).","$ref":"#/components/schemas/WorkItemStatusEnum"},"style":"form"},{"in":"query","name":"statuses","description":"Filter to work items whose status is any of these values. Repeat the parameter to pass several (e.g. statuses=TODO&statuses=IN_PROGRESS).","schema":{"description":"Filter to work items whose status is any of these values. Repeat the parameter to pass several (e.g. statuses=TODO&statuses=IN_PROGRESS).","type":"array","items":{"$ref":"#/components/schemas/WorkItemStatusEnum"}},"style":"form"},{"in":"query","name":"target_user_email","description":"Filter to work items whose target user email matches (case-insensitive).","schema":{"description":"Filter to work items whose target user email matches (case-insensitive).","type":"string"},"style":"form"},{"in":"query","name":"type","description":"Filter to work items of this type (e.g. APP_ACCESS_REQUEST, ONBOARDING, OFFBOARDING).","schema":{"description":"Filter to work items of this type (e.g. APP_ACCESS_REQUEST, ONBOARDING, OFFBOARDING).","$ref":"#/components/schemas/WorkItemTypeEnum"},"style":"form"},{"in":"query","name":"unapproved","description":"When true, return only work items that are pending approval.","schema":{"description":"When true, return only work items that are pending approval.","type":"boolean"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult17"}}}}}},"post":{"tags":["Employee Portal"],"summary":"Create a work item (employee portal).","description":"Creates a new work item on your behalf. The server fills `source`, `approved_at`, `scim_eligible`, `template_id`, and the captured assignee/target names; clients cannot supply any of those fields. When `parent_id` is supplied, you must be involved with the parent work item, otherwise the request is rejected.","requestBody":{"description":"Fields to create a work item. The work item starts unapproved and is assigned to you unless you specify an assignee.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateWorkItemRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"A work item representing a unit of work in the task management system (onboarding, offboarding, access requests, etc.).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItem"}}}}}}},"/api/{org_id}/employee_portal/work-items/{id}":{"get":{"tags":["Employee Portal"],"summary":"Get a work item with inlined history, comments, and watchers (employee portal).","description":"Returns the same shape as the admin endpoint — work item flattened at the top of the JSON object plus three inline arrays. If you aren't involved with the work item you receive a 404, the same response used for items that don't exist or belong to another organization.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A work item with its history, comments, and watchers inlined. The work item fields are flattened into the top-level object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItemDetailResponse"}}}}}}},"/api/{org_id}/employee_portal/work-items/{id}/cancel":{"patch":{"tags":["Employee Portal"],"summary":"Cancel a work item (employee portal).","description":"Cancels the work item and records the change in its history, attributed to you. An optional `comment` is recorded on the work item alongside the cancellation. Any pending child items are canceled too. You must be the assignee or the person who created the work item; watchers and target users can't cancel it.","requestBody":{"description":"Body for the employee-portal cancel endpoint. The optional comment is recorded on the work item alongside the cancellation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCancelRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A work item representing a unit of work in the task management system (onboarding, offboarding, access requests, etc.).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItem"}}}}}}},"/api/{org_id}/employee_portal/work-items/{id}/comments":{"get":{"tags":["Employee Portal"],"summary":"List comments on a work item (employee portal).","description":"Returns the same data inlined in the `comments` array on `GET /work-items/{id}`. If you aren't involved with the work item you receive a 404.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkItemComment"}}}}}}},"post":{"tags":["Employee Portal"],"summary":"Post a comment on a work item (employee portal).","description":"Adds a comment to the work item and records it in the work item's history. Anyone involved with the work item can comment, including watchers and target users. If you aren't involved you receive a 404. The body must not be empty or whitespace-only.","requestBody":{"description":"Body for posting a comment on a work item. The body must not be empty or whitespace-only.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCommentRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"An immutable plain-text comment on a work item.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItemComment"}}}}}}},"/api/{org_id}/employee_portal/work-items/{id}/watchers":{"get":{"tags":["Employee Portal"],"summary":"List watchers on a work item (employee portal).","description":"Returns the same data inlined in the `watchers` array on `GET /work-items/{id}`. If you aren't involved with the work item you receive a 404.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkItemWatcher"}}}}}}}},"/api/{org_id}/employee_portal/my-card/activate":{"post":{"tags":["Digital Business Cards"],"summary":"Activate your digital business card","description":"Creates the single card you may have, optionally prefilling name, job title, department, and photo from your directory profile.","requestBody":{"description":"Activate a digital business card for a person, optionally prefilling it from their directory profile.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivateCard"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The newly activated card.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee_portal/my-card":{"get":{"tags":["Digital Business Cards"],"summary":"Get your card for editing","description":"Returns your card's stored field values together with the organization's resolved rules — which fields are locked, hidden, editable, or optional, the admin-set values, the per-line icons, and whether the layout can be changed.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The card and the resolved editing rules.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardEditResponse"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Digital Business Cards"],"summary":"Save your card content","description":"Saves your card's field values, which synced fields to keep manually overridden, the chosen layout, and which optional fields to include. Locked fields keep the organization's value, hidden fields are retained but never published, and optional fields are included only when listed. Returns the updated card.","requestBody":{"description":"Card content to save: field values, which synced fields to keep manually overridden, the chosen layout, and which optional fields to include.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEmployeeCard"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The updated card.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee_portal/my-card/photo":{"put":{"tags":["Digital Business Cards"],"summary":"Upload your card photo","description":"Uploads the card photo as a multipart/form-data body with the image in a `file` field. The image is cropped to a square and resized for the card. Supported types: PNG, JPEG, WebP, AVIF. Returns the updated card.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The photo was stored and the card updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee_portal/my-card/publish":{"put":{"tags":["Digital Business Cards"],"summary":"Publish your card","description":"Takes your card live at its public URL and generates its downloadable QR codes. Returns the card with its published state and available QR sizes.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The card is now published.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee_portal/my-card/unpublish":{"put":{"tags":["Digital Business Cards"],"summary":"Unpublish your card","description":"Takes your card offline so its public URL stops resolving, while keeping the same link for a later re-publish. Returns the card with its updated state.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The card is now unpublished; its link is retained.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee_portal/my-card/regenerate-link":{"post":{"tags":["Digital Business Cards"],"summary":"Regenerate your card link","description":"Permanently retires your card's current link and issues a new one. The old link stops working immediately and is never reissued, so any printed material or saved QR codes pointing at it must be replaced. Requires acknowledging this in the request body.","requestBody":{"description":"Acknowledge that regenerating the link permanently retires the current URL before issuing a new one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegenerateLink"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The card now has a new link; the old one is permanently retired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee_portal/my-card/restore-link":{"post":{"tags":["Digital Business Cards"],"summary":"Restore your previous card link","description":"Undoes the most recent link regeneration, bringing back the previous link. Returns the card with the restored link.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The previous link was restored.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee_portal/my-card/pin":{"put":{"tags":["Digital Business Cards"],"summary":"Set your card PIN","description":"Sets a PIN that must be entered before the card's contents are shown. Only the PIN is sent; it is stored securely and never returned. Available only when the organization's card policy allows or requires a PIN, and it takes effect on the next publish. Returns the updated card.","requestBody":{"description":"Set the PIN that must be entered before this card's contents are shown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetCardPin"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The PIN was set; returns the updated card.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Digital Business Cards"],"summary":"Remove your card PIN","description":"Removes the PIN so the card no longer prompts before showing its contents. The change takes effect on the next publish. Succeeds even when the card has no PIN set. Returns the updated card.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The PIN was removed; returns the updated card.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee_portal/my-card/qr":{"get":{"tags":["Digital Business Cards"],"summary":"Download your card QR codes","description":"Returns time-limited download links for the card's QR codes, one per size, or just the requested size when `size` is supplied. Links are only available once the card is published.","parameters":[{"in":"query","name":"size","description":"A single QR size to download: a pixel edge length (\"256\", \"512\", \"1024\", \"2048\") for the raster image, or \"svg\" for the scalable version. Omit to receive every size.","schema":{"description":"A single QR size to download: a pixel edge length (\"256\", \"512\", \"1024\", \"2048\") for the raster image, or \"svg\" for the scalable version. Omit to receive every size.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Downloadable QR codes with time-limited links.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QrDownloadResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/entitlements":{"get":{"tags":["Organization"],"summary":"Get organization entitlements","description":"Retrieve entitlements for the specified organization. Entitlements define what features and integrations are available to the organization.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The organization's entitlements with version and metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitlementsResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/feature-settings":{"get":{"tags":["Organization"],"summary":"List configured feature toggles for an organization","description":"Returns the feature toggles this org has explicitly configured. Any feature not in the list uses its built-in default — resolve those on the client using your feature registry.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Configured feature toggles for the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgFeatureSettingsResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/feature-settings/{feature_key}":{"put":{"tags":["Organization"],"summary":"Toggle a single feature for the organization","description":"Turns a feature on or off for the org. The feature key must be one defined in the platform's feature registry.","requestBody":{"description":"Update body for a single feature toggle.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeatureSettingRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The updated toggle.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgFeatureSettingItem"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/card-settings/custom-domain":{"get":{"tags":["Digital Business Cards"],"summary":"Get the organization's custom card domain status","description":"Checks the current validation state of your custom card domain and returns its status: NONE, PENDING, ACTIVE, or FAILED.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The current custom-domain configuration and status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomainStatusResponse"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Digital Business Cards"],"summary":"Set the organization's custom card domain","description":"Registers a custom hostname to serve your organization's cards and returns the DNS records to add at your registrar. The domain starts as PENDING until those records validate.","requestBody":{"description":"Set the hostname you want to serve your organization's cards from, e.g. cards.acme.com.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetCustomDomain"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The custom domain was requested; status is PENDING with the DNS validation records to add.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomainStatusResponse"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Digital Business Cards"],"summary":"Remove the organization's custom card domain","description":"Stops serving your cards from the custom domain and resets it to NONE. Your cards remain reachable on the shared ShiftControl domain.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"The custom domain was removed."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee-cards/{user}/activate":{"post":{"tags":["Digital Business Cards"],"summary":"Activate a person's digital business card","description":"Creates the single card a person may have, optionally prefilling name, job title, department, and photo from their directory profile. A person can activate their own card; an administrator can activate one on someone's behalf.","requestBody":{"description":"Activate a digital business card for a person, optionally prefilling it from their directory profile.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivateCard"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The newly activated card.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee-cards/{user}":{"get":{"tags":["Digital Business Cards"],"summary":"Get a person's card for editing","description":"Returns the card's stored field values together with the organization's resolved rules — which fields are locked, hidden, editable, or optional, the admin-set values, the per-line icons, and whether the layout can be changed.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The card and the resolved editing rules.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardEditResponse"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Digital Business Cards"],"summary":"Save a person's card content","description":"Saves the card's field values, which synced fields to keep manually overridden, the chosen layout, and which optional fields to include. Locked fields keep the organization's value, hidden fields are retained but never published, and optional fields are included only when listed. Returns the updated card.","requestBody":{"description":"Card content to save: field values, which synced fields to keep manually overridden, the chosen layout, and which optional fields to include.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEmployeeCard"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The updated card.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Digital Business Cards"],"summary":"Permanently delete a person's card","description":"Permanently erases the card and all of its assets and takes it offline immediately. Every link the card has ever used is retired for good and can never be reissued. This cannot be undone.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"The card was permanently deleted."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee-cards/{user}/photo":{"put":{"tags":["Digital Business Cards"],"summary":"Upload a person's card photo","description":"Uploads the card photo as a multipart/form-data body with the image in a `file` field. The image is cropped to a square and resized for the card. Supported types: PNG, JPEG, WebP, AVIF. Returns the updated card.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The photo was stored and the card updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee-cards/{user}/publish":{"put":{"tags":["Digital Business Cards"],"summary":"Publish a person's card","description":"Takes the card live at its public URL and generates its downloadable QR codes. Returns the card with its published state and available QR sizes.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The card is now published.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee-cards/{user}/unpublish":{"put":{"tags":["Digital Business Cards"],"summary":"Unpublish a person's card","description":"Takes the card offline so its public URL stops resolving, while keeping the same link for a later re-publish. Returns the card with its updated state.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The card is now unpublished; its link is retained.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee-cards/{user}/regenerate-link":{"post":{"tags":["Digital Business Cards"],"summary":"Regenerate a person's card link","description":"Permanently retires the card's current link and issues a new one. The old link stops working immediately and is never reissued, so any printed material or saved QR codes pointing at it must be replaced. Requires acknowledging this in the request body.","requestBody":{"description":"Acknowledge that regenerating the link permanently retires the current URL before issuing a new one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegenerateLink"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The card now has a new link; the old one is permanently retired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee-cards/{user}/restore-link":{"post":{"tags":["Digital Business Cards"],"summary":"Restore a person's previous card link","description":"Undoes the most recent link regeneration, bringing back the previous link. Returns the card with the restored link.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The previous link was restored.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee-cards/{user}/offboarding-decision":{"post":{"tags":["Digital Business Cards"],"summary":"Resolve a departed person's card","description":"Chooses what a departed person's card link does once their grace window ends: serve the company farewell page, redirect to another person's card, or stop resolving. Returns the updated card.","requestBody":{"description":"How a departed employee's card should behave: serve the company's farewell page, redirect to another person's card, or stop resolving.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OffboardingDecision"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The card now reflects the chosen offboarding behavior.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee-cards/{user}/pin":{"put":{"tags":["Digital Business Cards"],"summary":"Set a person's card PIN","description":"Sets a PIN that must be entered before the card's contents are shown. Only the PIN is sent; it is stored securely and never returned. Available only when the organization's card policy allows or requires a PIN, and it takes effect on the next publish. Returns the updated card.","requestBody":{"description":"Set the PIN that must be entered before this card's contents are shown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetCardPin"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The PIN was set; returns the updated card.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Digital Business Cards"],"summary":"Remove a person's card PIN","description":"Removes the PIN so the card no longer prompts before showing its contents. The change takes effect on the next publish. Succeeds even when the card has no PIN set. Returns the updated card.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The PIN was removed; returns the updated card.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCardResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/employee-cards/{user}/qr":{"get":{"tags":["Digital Business Cards"],"summary":"Download a person's card QR codes","description":"Returns time-limited download links for the card's QR codes, one per size, or just the requested size when `size` is supplied. Links are only available once the card is published.","parameters":[{"in":"query","name":"size","description":"A single QR size to download: a pixel edge length (\"256\", \"512\", \"1024\", \"2048\") for the raster image, or \"svg\" for the scalable version. Omit to receive every size.","schema":{"description":"A single QR size to download: a pixel edge length (\"256\", \"512\", \"1024\", \"2048\") for the raster image, or \"svg\" for the scalable version. Omit to receive every size.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Downloadable QR codes with time-limited links.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QrDownloadResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/card-settings":{"get":{"tags":["Digital Business Cards"],"summary":"Get the organization's card template","description":"Returns the full card template for your organization: layout, brand colors, logo configuration, legal links, per-line icons, field governance, profile-sync flags, offboarding policy, PIN policy, and the current custom-domain status. Organizations that have not configured cards yet receive the Classic Centered defaults.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The organization's current card template.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgCardSettingsResponse"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Digital Business Cards"],"summary":"Save the organization's card template","description":"Saves the org-wide card template: layout, brand colors, logo placement, legal links, per-line icons, field governance, profile-sync flags, offboarding policy, and PIN policy. The layout must be one of the four curated layouts. Returns the saved template.","requestBody":{"description":"The org-wide card template to save: layout, brand colors, logo placement, legal links, per-line icons, field governance, profile-sync flags, offboarding policy, and PIN policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrgCardSettings"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The saved card template.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgCardSettingsResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/card-settings/publish":{"post":{"tags":["Digital Business Cards"],"summary":"Publish the organization's card template","description":"Pushes the current card template to the edge so every published card instantly reflects it — a single global rebrand. Returns once the template has been published.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"The card template was published to the edge."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/card-settings/logo":{"put":{"tags":["Digital Business Cards"],"summary":"Upload the organization's card logo","description":"Uploads the brand logo image shown on cards as a multipart/form-data body with the image in a `file` field. Supported types: PNG, JPEG, SVG, WebP, AVIF. Returns the updated card template.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The logo was stored and the card template updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgCardSettingsResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/card-settings/feature":{"put":{"tags":["Digital Business Cards"],"summary":"Enable or disable digital business cards","description":"Turns the digital business cards feature on or off for your organization and republishes the org config so the change takes effect at the edge. Disabling keeps all existing card data so the feature can be turned back on later.","requestBody":{"description":"Turn the digital business cards feature on or off for your organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleCardFeature"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"The feature was toggled and the org config republished."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/onboarding/pending-authorizations":{"get":{"tags":["Organization"],"summary":"List pending OAuth authorization requests","description":"Lists the organization's pending (delegated) OAuth authorization requests for the onboarding Connect Google Workspace step, sourced from delegated oauth_states rows. Each request carries a nullable delegate email (absent for the self-send / shared-link path) and a shareable ShiftControl delegation landing link (delegation_url) that lands an admin on a public instructions page.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The organization's pending delegated OAuth authorization requests","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PendingAuthorizationRequest"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/settings":{"get":{"tags":["Organization"],"summary":"Fetch the details of a specific organization.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"An organization's details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtendedFetchOrgResponse"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Organization"],"summary":"Update the details of a specific organization.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrgPost"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"An organization's details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtendedFetchOrgResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/settings/work-item-key-prefix":{"put":{"tags":["Organization"],"summary":"Update the organization's work item key prefix.","description":"Sets the 2-4 letter code shown at the start of every work item key (e.g. \"SC\" in \"SC-142\"). The submitted value is uppercased; only letters A-Z are accepted. Existing work item keys re-render with the new prefix on their next read.","requestBody":{"description":"Fields to update the organization's work item key prefix.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWorkItemKeyPrefixPost"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The organization's current work item key prefix.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItemKeyPrefixResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/billing/customer":{"get":{"tags":["Billing"],"summary":"Get billing customer","description":"Retrieves the billing customer record (legal name, billing address, and contacts) for the organization.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}}}}},"/api/{org_id}/billing/schedules/active":{"get":{"tags":["Billing"],"summary":"Get active billing schedules","description":"Returns the organization's currently active billing schedules. Useful for reconciling what the organization is being billed for.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}}}}},"/api/{org_id}/billing/billable-user-count":{"get":{"tags":["Billing"],"summary":"Get billable user count","description":"Returns the current billable user count for the organization and the bank transfer minimum-users threshold. Useful for reconciling seat-based charges.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}}}}},"/api/{org_id}/jumpcloud/administrators":{"get":{"tags":["JumpCloud Administrators"],"summary":"Retrieve the list of JumpCloud administrators for a given organization.","description":"Note: This uses an undocumented JumpCloud API endpoint.","parameters":[{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/administrator/{administrator_id}":{"get":{"tags":["JumpCloud Administrators"],"summary":"Retrieve a JumpCloud administrator for a given organization.","description":"Note: This uses an undocumented JumpCloud API endpoint.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Administrator User Data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Administrator"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["JumpCloud Administrators"],"summary":"Update an existing JumpCloud administrator for a given organization.","description":"Please see here for more details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Users/operation/users_put.","requestBody":{"description":"Administrator User Data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Administrator"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Administrator User Data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Administrator"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["JumpCloud Administrators"],"summary":"Delete a JumpCloud administrator for a given organization.","description":"Note: This uses an undocumented JumpCloud API endpoint.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Administrator deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/administrator":{"post":{"tags":["JumpCloud Administrators"],"summary":"Create a new JumpCloud administrator for a given organization.","description":"Note: This uses an undocumented JumpCloud API endpoint.","requestBody":{"description":"Create Administrator Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAdministratorRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"Administrator User Data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Administrator"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/administrator/{administrator_id}/totpreset":{"post":{"tags":["JumpCloud Administrators"],"summary":"Reset the TOTP for a JumpCloud administrator for a given organization.","description":"Please see here for more details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Users/operation/admin_totpreset_begin.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Administrator TOTP reset successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/administrator/{administrator_id}/passwordreset":{"post":{"tags":["JumpCloud Administrators"],"summary":"Reset the password for a JumpCloud administrator for a given organization. ","description":"Please see here for more details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Users/operation/users_reactivate_get.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Administrator password reset successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/administrator/roles":{"get":{"tags":["JumpCloud Administrators"],"summary":"Retrieve the list of JumpCloud administrator roles for a given organization.","description":"Note: This uses an undocumented JumpCloud API endpoint.","parameters":[{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults2"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/bulk/eventlist/next":{"get":{"tags":["JumpCloud Scheduled Jobs"],"summary":"Retrieve the next scheduled event list for JumpCloud users.","description":"Note: This uses an undocumented JumpCloud API endpoint that is similar to https://docs.jumpcloud.com/api/2.0/index.html#tag/Bulk-Job-Requests/operation/bulk_userStatesList.","parameters":[{"in":"query","name":"users","description":"A space separated list of JumpCloud userIds.","schema":{"description":"A space separated list of JumpCloud userIds.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"User State Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserStateResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/bulk/job/create":{"post":{"tags":["JumpCloud Scheduled Jobs"],"summary":"Create a new scheduled job for JumpCloud users.","description":"Please see here for more details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Bulk-Job-Requests/operation/bulk_userStatesCreate.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserStateJobRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledUserStateResult"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/bulk/job/delete/{user_id}":{"delete":{"tags":["JumpCloud Scheduled Jobs"],"summary":"Delete a scheduled job for a JumpCloud user.","description":"Please see here for more details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Bulk-Job-Requests/operation/bulk_userStatesDelete.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Job deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/devices":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve a list of JumpCloud devices (systems).","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systems/operation/systems_list.","parameters":[{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"search","description":"A nested object containing a searchTerm string or array of strings and a list of fields to search on.","schema":{"description":"A nested object containing a searchTerm string or array of strings and a list of fields to search on.","type":"string"},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults3"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/devices/owner-access":{"get":{"tags":["JumpCloud Devices"],"summary":"List each device's primary owner's access level.","description":"Returns the owner's elevated-access level and time-bound expiry per device, so a device list can show access at a glance without a per-row lookup.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceOwnerAccess"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/devices/health":{"get":{"tags":["JumpCloud Devices"],"summary":"Fleet device health across all JumpCloud devices.","description":"Returns one row per device with derived health signals — battery wear, disk free space, disk encryption, secure boot/TPM, stability (uptime), and reachability — each rated ok, warn, or critical, plus a worst-of overall rating. Signals a device doesn't report are returned as unknown.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceHealthRow"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/device/{device_id}":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve details of a specific JumpCloud device.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systems/operation/systems_get.","parameters":[{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"JumpCloud System (Device)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/System"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["JumpCloud Devices"],"summary":"Update a JumpCloud device's settings.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systems/operation/systems_put.","requestBody":{"description":"System update body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSystem"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"JumpCloud System (Device)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/System"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["JumpCloud Devices"],"summary":"Un-manage (delete) a JumpCloud device.","description":"Removes the device from JumpCloud management. The agent is uninstalled from the device. Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systems/operation/systems_delete.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"JumpCloud System (Device)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/System"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/device/{device_id}/user-bindings":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve the v1 user bindings of a specific JumpCloud device.","description":"Deprecated v1 binding endpoint with an unspecified schema; prefer the device users graph endpoint.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["JumpCloud Devices"],"summary":"Manage the v1 user bindings of a specific JumpCloud device.","requestBody":{"description":"Legacy system-user bindings update body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemUserBindingsUpdate"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/device/{device_id}/users":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve the users bound to a specific JumpCloud device.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Systems/operation/graph_systemTraverseUser.","parameters":[{"in":"query","name":"details","description":"Level of detail to return. See JumpCloud API docs for supported values (e.g. \"v1\").","schema":{"description":"Level of detail to return. See JumpCloud API docs for supported values (e.g. \"v1\").","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults4"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/device/{device_id}/usergroups":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve the user groups associated with a specific JumpCloud device.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Systems/operation/graph_systemTraverseUserGroup.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults4"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/device/{device_id}/memberof":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve the system groups a specific JumpCloud device is a member of.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Systems/operation/graph_systemMemberOf.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults4"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/device/{device_id}/commands":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve the commands associated with a specific JumpCloud device.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Systems/operation/graph_systemTraverseCommand.","parameters":[{"in":"query","name":"details","description":"Level of detail to return. See JumpCloud API docs for supported values (e.g. \"v1\").","schema":{"description":"Level of detail to return. See JumpCloud API docs for supported values (e.g. \"v1\").","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults4"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/device/{device_id}/policies":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve the policies bound to a specific JumpCloud device.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Systems/operation/graph_systemTraversePolicy.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults4"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/device/{device_id}/associations":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve the associations of a specific JumpCloud device.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Systems/operation/graph_systemAssociationsList.","parameters":[{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"targets","description":"Targets which this item can be associated to. See JumpCloud API docs for examples.","schema":{"description":"Targets which this item can be associated to. See JumpCloud API docs for examples.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GraphConnection"}}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["JumpCloud Devices"],"summary":"Manage the associations of a specific JumpCloud device.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Systems/operation/graph_systemAssociationsPost.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphOperation"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/access-requests":{"post":{"tags":["JumpCloud Devices"],"summary":"Grant a user time-bound access to a JumpCloud device.","description":"Creates a time-bound access grant. The access expires at the supplied timestamp; returns the created access id used to read, update, or revoke the grant.","requestBody":{"description":"Body for `POST /v2/accessrequests` — grants a user time-bound access to a\nresource (a device, here). `requestor_id` is the user receiving access;\n`expiry` is an ISO-8601 timestamp; `operation_id` is a caller-generated\nidempotency UUID; `additional_attributes` carries the sudo elevation to\ngrant for the window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccessRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Response from `POST /v2/accessrequests`: the created access id (a UUID\nstring used as the `{id}` path segment on subsequent get/update/revoke).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccessRequestResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/access-request/{access_id}":{"get":{"tags":["JumpCloud Devices"],"summary":"Read a time-bound access grant for a JumpCloud device.","description":"Returns the current state and expiry of a time-bound access grant.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A granted access request (`GET /v2/accessrequests/{id}`).\n\n`id` is JumpCloud's numeric internal id; `access_id` is the UUID used in\nthe URL path. `additional_attributes` is a **base64-encoded JSON string**\nof the granted attributes (decode to recover the `sudo` object).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequest"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["JumpCloud Devices"],"summary":"Change the expiry of a time-bound access grant.","description":"Shortens or extends an existing time-bound access grant. To remove the time bound entirely, set permanent access via device associations and revoke the grant.","requestBody":{"description":"Body for `PUT /v2/accessrequests/{id}` — shortens/extends an existing\ngrant's expiry. JumpCloud has no \"make permanent\" here: to remove the time\nbound, set permanent sudo via system associations and `revoke` the request.\n\nThe access id is **not** part of this body: it is supplied as the URL path\nsegment by [`crate::api::access_request::update_access_request`], which\ninjects it into the wire payload. Keeping a single source of truth avoids\nthe path/body divergence footgun.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccessRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/access-request/{access_id}/revoke":{"post":{"tags":["JumpCloud Devices"],"summary":"Revoke a time-bound access grant immediately.","description":"Ends a time-bound access grant immediately, removing the user's elevated access.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/device/{device_id}/fdekey":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve the full-disk-encryption recovery key of a specific JumpCloud device.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/fde/operation/systems_getFDEKey.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"FileVault Recovery Key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FdeKey"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/devices/insights/system-info":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve System Insights hardware/system info across JumpCloud devices.","description":"Filter to one device with filter=system_id:eq:{id}. Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/System-Insights/operation/systeminsights_list_system_info.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults5"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/devices/insights/os-version":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve System Insights OS version data across JumpCloud devices.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/System-Insights/operation/systeminsights_list_os_version.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults6"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/devices/insights/disk-encryption":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve System Insights disk-encryption status across JumpCloud devices.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/System-Insights/operation/systeminsights_list_disk_encryption.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults7"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/devices/insights/bitlocker-info":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve System Insights BitLocker status across JumpCloud devices.","description":"Status only — JumpCloud's public API does not expose BitLocker recovery keys. Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/System-Insights/operation/systeminsights_list_bitlocker_info.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults8"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/devices/insights/table/{table}":{"get":{"tags":["JumpCloud Devices"],"summary":"Retrieve an arbitrary System Insights table across JumpCloud devices.","description":"Generic accessor for the remaining System Insights tables (apps, programs, patches, uptime, usb_devices, logical_drives, users, …). Rows are returned as raw JSON. Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/System-Insights.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults9"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/commands":{"get":{"tags":["JumpCloud Commands"],"summary":"Retrieve a list of JumpCloud commands.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Commands/operation/commands_list.","parameters":[{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults10"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["JumpCloud Commands"],"summary":"Create a new JumpCloud command.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Commands/operation/commands_post.","requestBody":{"description":"Command create/update body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewUpdateCommand"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"JumpCloud Command","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Command"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/command/{command_id}":{"get":{"tags":["JumpCloud Commands"],"summary":"Retrieve details of a specific JumpCloud command.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Commands/operation/commands_get.","parameters":[{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"JumpCloud Command","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Command"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["JumpCloud Commands"],"summary":"Update a specific JumpCloud command.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Commands/operation/commands_put.","requestBody":{"description":"Command create/update body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewUpdateCommand"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"JumpCloud Command","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Command"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["JumpCloud Commands"],"summary":"Delete a specific JumpCloud command.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Commands/operation/commands_delete.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/command/trigger/{trigger_name}":{"post":{"tags":["JumpCloud Commands"],"summary":"Launch a JumpCloud command via its trigger name.","description":"Runs the command on its associated devices. Command execution is asynchronous — poll command results for outcomes. Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Command/operation/command_trigger_webhook_post.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/command-results":{"get":{"tags":["JumpCloud Commands"],"summary":"Retrieve a list of JumpCloud command results.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Command/operation/command_results_list.","parameters":[{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults11"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/command-result/{result_id}":{"get":{"tags":["JumpCloud Commands"],"summary":"Retrieve a specific JumpCloud command result.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Command/operation/command_results_get.","parameters":[{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Command execution result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommandResult"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["JumpCloud Commands"],"summary":"Delete a specific JumpCloud command result.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Command/operation/command_results_delete.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/apple-mdms":{"get":{"tags":["JumpCloud Apple MDM"],"summary":"Retrieve the JumpCloud Apple MDM enrollments for the organization.","description":"Needed to discover the mdm_id used by the Apple MDM device endpoints. Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Apple-MDM/operation/applemdms_list.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppleMdm"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/apple-mdm/{mdm_id}/devices":{"get":{"tags":["JumpCloud Apple MDM"],"summary":"Retrieve the devices enrolled in a specific JumpCloud Apple MDM.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Apple-MDM/operation/applemdms_deviceslist.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults12"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/apple-mdm/{mdm_id}/device/{device_id}":{"get":{"tags":["JumpCloud Apple MDM"],"summary":"Retrieve a specific device enrolled in a JumpCloud Apple MDM.","description":"Note: device_id is the MDM device id (mdm.internal.deviceId on the System model), not the system id. Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Apple-MDM/operation/applemdms_getdevice.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Apple MDM device","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppleMdmDevice"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/apple-mdm/{mdm_id}/device/{device_id}/lock":{"post":{"tags":["JumpCloud Apple MDM"],"summary":"Lock a JumpCloud Apple MDM device.","description":"Issues an MDM lock with the supplied PIN. The action is asynchronous; success here means the command was accepted, not completed. Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Apple-MDM/operation/applemdms_deviceslock.","requestBody":{"description":"PIN required by Apple MDM lock and erase actions. The PIN is shown on-screen during a lock or required to reactivate a wiped device.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DevicePinRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/apple-mdm/{mdm_id}/device/{device_id}/restart":{"post":{"tags":["JumpCloud Apple MDM"],"summary":"Restart a JumpCloud Apple MDM device.","description":"Asynchronous MDM action. Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Apple-MDM/operation/applemdms_devicesrestart.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/apple-mdm/{mdm_id}/device/{device_id}/shutdown":{"post":{"tags":["JumpCloud Apple MDM"],"summary":"Shut down a JumpCloud Apple MDM device.","description":"Asynchronous MDM action. Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Apple-MDM/operation/applemdms_devicesshutdown.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/apple-mdm/{mdm_id}/device/{device_id}/erase":{"post":{"tags":["JumpCloud Apple MDM"],"summary":"Erase (wipe) a JumpCloud Apple MDM device.","description":"DESTRUCTIVE and irreversible: remotely wipes the device. The supplied PIN is required to unlock the device afterwards — surface it to the operator before issuing; JumpCloud does not retain it. Asynchronous MDM action. Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Apple-MDM/operation/applemdms_deviceserase.","requestBody":{"description":"PIN required by Apple MDM lock and erase actions. The PIN is shown on-screen during a lock or required to reactivate a wiped device.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DevicePinRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/apple-mdm/{mdm_id}/device/{device_id}/refresh-activation-lock":{"post":{"tags":["JumpCloud Apple MDM"],"summary":"Refresh the activation-lock information of a JumpCloud Apple MDM device.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Apple-MDM/operation/applemdms_devicesRefreshActivationLockInformation.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":true}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/device/{system_id}/command/builtin/{action}":{"post":{"tags":["JumpCloud Devices"],"summary":"Send a built-in command to a JumpCloud device.","description":"Issues a lock, restart, shutdown, or erase to an agent-managed device (Windows, Linux, or a Mac not enrolled in Apple MDM), keyed on the device's system id. The action is asynchronous; success here means the command was queued, not completed. Returns the queued command id. Lock, restart, and shutdown require device management permission; erase requires device deletion permission.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Queued built-in device command reference","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuiltinCommandResponse"}}}},"400":{"description":"The requested command action is not one of lock, restart, shutdown, or erase."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/directories":{"get":{"tags":["JumpCloud Directories"],"summary":"Retrieve a list of JumpCloud directories for a given organization.","description":"Please see here for more details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Directories/operation/directories_list.","parameters":[{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults13"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/employee_portal/directory":{"get":{"tags":["JumpCloud Employee Portal"],"summary":"Retrieve the organization directory for the employee portal.","description":"This endpoint returns all active users with their basic information needed for the organization chart.","parameters":[{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults14"}}}}}}},"/api/{org_id}/jumpcloud/employee_portal/apps":{"get":{"tags":["JumpCloud Employee Portal"],"summary":"Retrieve a list of applications available to an employee in a given organization.","description":"Note: This endpoint only supports user access tokens from the frontend.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmployeePortalApp"}}}}}}}},"/api/{org_id}/jumpcloud/employee_portal/profile":{"get":{"tags":["JumpCloud Employee Portal"],"summary":"Retrieve the employee's own profile.","description":"Note: This endpoint only supports user access tokens from the frontend.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullUserData"}}}}}}},"/api/{org_id}/jumpcloud/employee_portal/push":{"get":{"tags":["JumpCloud Employee Portal"],"summary":"Retrieve the push credentials for the employee.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Users/operation/pushEndpoints_list.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PushCredential"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/employee_portal/push/{cred_id}":{"put":{"tags":["JumpCloud Employee Portal"],"summary":"Update a JumpCloud push credential for the employee.","description":"Please see here for more details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Users/operation/pushEndpoints_patch.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePushCredential"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A push credential for a user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushCredential"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["JumpCloud Employee Portal"],"summary":"Delete a JumpCloud push credential for the employee.","description":"Please see here for more details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Users/operation/pushEndpoints_delete.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Push credential deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/employee_portal/webauthn":{"get":{"tags":["JumpCloud Employee Portal"],"summary":"Retrieve the WebAuthN credentials for the employee.","description":"Note: This uses an undocumented JumpCloud API endpoint.","parameters":[{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebAuthNCredential"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/employee_portal/webauthn/{cred_id}":{"put":{"tags":["JumpCloud Employee Portal"],"summary":"Update a JumpCloud WebAuthn credential for the employee.","description":" Note: This uses an undocumented JumpCloud API endpoint.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebAuthNCredential"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A webauthn credential for a user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebAuthNCredential"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["JumpCloud Employee Portal"],"summary":"Delete a WebAuthN credential for the employee.","description":"Note: This uses an undocumented JumpCloud API endpoint.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"WebAuthN credential deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/employee_portal/totp":{"get":{"tags":["JumpCloud Users"],"summary":"Get the TOTP info for the employee.","description":"Please see here for more details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_totp_info.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TOTPCredential"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/employee_portal/devices":{"get":{"tags":["JumpCloud Employee Portal"],"summary":"List your assigned devices.","description":"Returns the devices assigned to you in your organization, including details such as device name, operating system, model, online status, and last check-in time. Only your own devices are returned.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults3"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/employee_portal/devices/{id}":{"get":{"tags":["JumpCloud Employee Portal"],"summary":"Get details for one of your devices.","description":"Returns the full details for a single device assigned to you, identified by its device ID. If the device is not assigned to you, it is reported as not found.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"JumpCloud System (Device)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/System"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/employee_portal/devices/{id}/local-accounts":{"get":{"tags":["JumpCloud Employee Portal"],"summary":"List the local accounts on one of your devices.","description":"Returns the local sign-in accounts on a device assigned to you, identified by its device ID, including whether each account has administrator rights. If the device is not assigned to you, it is reported as not found.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmployeePortalDeviceLocalAccount"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/employee_portal/devices/{id}/insights/{table}":{"get":{"tags":["JumpCloud Employee Portal"],"summary":"Get hardware, network, or storage details for one of your devices.","description":"Returns System Insights rows for a device assigned to you, identified by its device ID and the insights table name (system_info for processor/memory/model, interface_details for the network MAC, logical_drives or mounts for disk space, battery for battery health). Other tables, or a device not assigned to you, are reported as not found.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":true}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/gsuite/{gsuite_id}":{"get":{"tags":["JumpCloud Directories"],"summary":"Retrieve the details of a specific JumpCloud G Suite integration.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/G-Suite/operation/gsuites_get.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Google Workspace","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleWorkspace"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/gsuite/{gsuite_id}/associations":{"get":{"tags":["JumpCloud Directories"],"summary":"Retrieve the associations of a specific JumpCloud G Suite integration.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/G-Suite/operation/graph_gSuiteAssociationsList.","parameters":[{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"targets","description":"Targets which this item can be associated to. See JumpCloud API docs for examples.","schema":{"description":"Targets which this item can be associated to. See JumpCloud API docs for examples.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The associations of the JumpCloud G Suite integration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults15"},"example":{"results":[{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"Design Team"}]},"id":"6721a78e93896e0001a679f6","type":"userGroup"}},{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"Engineering"}]},"id":"6721f1e8ba00f20001d627a9","type":"userGroup"}}],"totalCount":2}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/gsuite/{gsuite_id}/domains":{"get":{"tags":["JumpCloud Directories"],"summary":"Retrieve the domains of a specific JumpCloud G Suite integration.","description":"Please see here for details:  https://docs.jumpcloud.com/api/2.0/index.html#tag/G-Suite/operation/Gapps_Domains_List","parameters":[{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"targets","description":"Targets which this item can be associated to. See JumpCloud API docs for examples.","schema":{"description":"Targets which this item can be associated to. See JumpCloud API docs for examples.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults16"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/gsuite/{gsuite_id}/users":{"get":{"tags":["JumpCloud Directories"],"summary":"Retrieve the users associated with a specific JumpCloud G Suite integration.","description":"Note: This uses an undocumented JumpCloud API endpoint.","parameters":[{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GraphObjectWithPaths"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/apps":{"get":{"tags":["JumpCloud Apps"],"summary":"Retrieve a list of JumpCloud applications.","description":"Please see here for more details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Applications/operation/applications_list. Note, this uses an undocumented v2 version of the same API endpoint. We also combine results with the results of an undocumented /sso endpoint used only for OIDC apps to get all the required info.","parameters":[{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults17"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/app/{app_id}":{"get":{"tags":["JumpCloud Apps"],"summary":"Retrieve details of a specific JumpCloud application.","description":"Please see here for more details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Applications/operation/applications_get. Note, we combine the get apps endpoint with an undocumented /sso endpoint used only for OIDC apps to get all the required info.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A JumpCloud application.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Application"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/app/{app_id}/users":{"get":{"tags":["JumpCloud Apps"],"summary":"Retrieves the JumpCloud graph of user associations, both direct and indirect, to an application.","description":"Please see here for more details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Applications/operation/graph_applicationTraverseUser.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A structured list of JumpCloud graph objects with paths.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults4"},"example":{"results":[{"compiledAttributes":{"ldapGroups":[{"name":"Core Team"},{"name":"Design"}]},"id":"665970bc72c298d6cafc59bf","paths":[[{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"Design"}]},"id":"66597b24eaa1e300016bcd55","type":"userGroup"}},{"attributes":null,"to":{"id":"665970bc72c298d6cafc59bf","type":"user"}}],[{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"Core Team"}]},"id":"665bf39d71ebc600018195a4","type":"userGroup"}},{"attributes":null,"to":{"id":"665970bc72c298d6cafc59bf","type":"user"}}]],"type":"user"},{"compiledAttributes":{"ldapGroups":[{"name":"Core Team"},{"name":"Design"}]},"id":"66597a88b986ab3a69d15376","paths":[[{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"Core Team"}]},"id":"665bf39d71ebc600018195a4","type":"userGroup"}},{"attributes":null,"to":{"id":"66597a88b986ab3a69d15376","type":"user"}}],[{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"Design"}]},"id":"66597b24eaa1e300016bcd55","type":"userGroup"}},{"attributes":null,"to":{"id":"66597a88b986ab3a69d15376","type":"user"}}]],"type":"user"}],"totalCount":2}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/app/{app_id}/oidc/rotate":{"put":{"tags":["JumpCloud Apps"],"summary":"Rotate the OIDC secret for a specific JumpCloud application.","description":"Note: This endpoint uses an undocumented /sso JumpCloud API endpoint for OIDC apps.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationSso"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationSso"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/apps/users":{"get":{"tags":["JumpCloud Apps"],"summary":"Retrieve a list of all JumpCloud applications and the JumpCloud graph of user associations, both direct and indirect.","description":"Please see here for more details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Applications/operation/graph_applicationTraverseUser.","parameters":[{"in":"query","name":"countOnly","description":"Set to true if you'd like to only see a count per item.","schema":{"description":"Set to true if you'd like to only see a count per item.","type":"boolean"},"style":"form"},{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Map of application IDs to users","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationUsersMap"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/apps/users/count":{"get":{"tags":["JumpCloud Apps"],"summary":"Retrieve a map of all JumpCloud applications to their user counts.","description":"Count-only variant of the applications users endpoint. Returns just counts per application ID.","parameters":[{"in":"query","name":"countOnly","description":"Set to true if you'd like to only see a count per item.","schema":{"description":"Set to true if you'd like to only see a count per item.","type":"boolean"},"style":"form"},{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Map of application IDs to user counts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationUsersCountMap"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/app/{app_id}/logo/url":{"post":{"tags":["JumpCloud Apps"],"summary":"Update the image of a JumpCloud application from a logo url.","description":"Note: All images must be either jpg or png and must be at least 150px x 150px in size. Please see here for more info: https://docs.jumpcloud.com/api/2.0/index.html#tag/Applications/operation/applications_postLogo.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationLogo"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"Image saved successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/app/{app_id}/logo":{"post":{"tags":["JumpCloud Apps"],"summary":"Update the image of a JumpCloud application from a binary image file.","description":"Note: All images must be either jpg or png and must be at least 150px x 150px in size. Please see here for more info: https://docs.jumpcloud.com/api/2.0/index.html#tag/Applications/operation/applications_postLogo.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Image saved successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/app/template/{template_id}":{"get":{"tags":["JumpCloud Apps"],"summary":"Retrieve a specific JumpCloud application template.","description":"Please see here for more detail: https://docs.jumpcloud.com/api/1.0/index.html#tag/Application-Templates/operation/application_templates_get.","parameters":[{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A JumpCloud application template.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationTemplate"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/groups":{"get":{"tags":["JumpCloud Groups"],"summary":"Retrieve a list of JumpCloud groups.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/User-Groups/operation/groups_user_list.","parameters":[{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults18"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/group/{group_id}":{"get":{"tags":["JumpCloud Groups"],"summary":"Retrieve details of a specific JumpCloud group.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/User-Groups/operation/groups_user_get.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A JumpCloud group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group2"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/group/{group_id}/membership":{"get":{"tags":["JumpCloud Groups"],"summary":"Retrieve the membership of a specific JumpCloud group.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/User-Groups/operation/graph_userGroupMembership.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults19"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/group/{group_id}/associations":{"get":{"tags":["JumpCloud Groups"],"summary":"Retrieve the associations of a specific JumpCloud group.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/User-Groups/operation/graph_userGroupAssociationsList.","parameters":[{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"targets","description":"Targets which this item can be associated to. See JumpCloud API docs for examples.","schema":{"description":"Targets which this item can be associated to. See JumpCloud API docs for examples.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The associations of the JumpCloud group to the selected target type.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GraphConnection"}},"example":[{"attributes":null,"to":{"id":"679c57c38c69959749bccadc","type":"application"}}]}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["JumpCloud Groups"],"summary":"Manage the associations of a specific JumpCloud group.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/User-Groups/operation/graph_userGroupAssociationsPost.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphOperation"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"Group association updated successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/groups/users":{"get":{"tags":["JumpCloud Groups"],"summary":"Retrieve all users from all JumpCloud groups.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/User-Groups/operation/graph_userGroupMembersList.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Map of group IDs to users","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupUsersMap"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/groups/users/count":{"get":{"tags":["JumpCloud Groups"],"summary":"Retrieve counts of users for all JumpCloud groups.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Map of Group IDs to user counts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupUsersCountMap"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/groups/apps":{"get":{"tags":["JumpCloud Groups"],"summary":"Retrieve a list of applications mapped to JumpCloud group ids.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/User-Groups/operation/graph_userGroupTraverseApplication.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Map of group IDs to applications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupApplicationsMap"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/groups/apps/count":{"get":{"tags":["JumpCloud Groups"],"summary":"Retrieve counts of applications for all JumpCloud groups.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Map of Group IDs to app counts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupAppCountMap"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/users":{"get":{"tags":["JumpCloud Users"],"summary":"Retrieve all JumpCloud users for a specific organization.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_list.","parameters":[{"in":"query","name":"fields","description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","schema":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":"string"},"style":"form"},{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"search","description":"A nested object containing a searchTerm string or array of strings and a list of fields to search on.","schema":{"description":"A nested object containing a searchTerm string or array of strings and a list of fields to search on.","type":"string"},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults19"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/users/search":{"post":{"tags":["JumpCloud Users"],"summary":"Search for JumpCloud users.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Search/operation/search_systemusers_post.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSearchRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults19"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/users/reactivate":{"post":{"tags":["JumpCloud Users"],"summary":"Resend the activation email to an already activated JumpCloud user.","description":"Note: This uses an undocumented JumpCloud API endpoint.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserReactivate"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FullUserData"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/users/expire":{"post":{"tags":["JumpCloud Users"],"summary":"Expire passwords for multiple JumpCloud users.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_expire.","requestBody":{"description":"A list of user IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserIds"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"Success and Failure Count","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessFailureCountMessage"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/users/memberof":{"get":{"tags":["JumpCloud Users"],"summary":"Retrieve the groups that JumpCloud users belong to.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Graph/operation/graph_userMemberOf.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A map of user IDs to their groups.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserGroupsMap"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/users/memberof/count":{"get":{"tags":["JumpCloud Users"],"summary":"Retrieve counts of groups that JumpCloud users belong to.","description":"Returns a map of user IDs to the count of groups they belong to.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A map of user IDs to the count of groups they belong to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserGroupsCountMap"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/users/apps":{"get":{"tags":["JumpCloud Users"],"summary":"Retrieve the applications that JumpCloud users have access to.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Graph/operation/graph_userTraverseApplication.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A map of user IDs to their applications.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserApplicationsMap"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/users/apps/count":{"get":{"tags":["JumpCloud Users"],"summary":"Retrieve the count of applications that JumpCloud users have access to.","description":"Returns a map of user IDs to the count of applications they have access to.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A map of user IDs to the count of applications they have access to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserApplicationsCountMap"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user":{"post":{"tags":["JumpCloud Users"],"summary":"Create a new JumpCloud user.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_post.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullUserData"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullUserData"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/me":{"get":{"tags":["JumpCloud Users"],"summary":"Retrieve the JumpCloud user information for the authenticated user.","description":"Note: This endpoint only supports user access tokens from the frontend. Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_get.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/FullUserData"},{"type":"null"}]}}}}}}},"/api/{org_id}/jumpcloud/user/{user_id}":{"get":{"tags":["JumpCloud Users"],"summary":"Retrieve a specific JumpCloud user by user ID.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_get.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullUserData"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["JumpCloud Users"],"summary":"Update an existing JumpCloud user.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_put.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullUserData"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullUserData"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["JumpCloud Users"],"summary":"Delete a specific JumpCloud user by user ID.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_delete.","parameters":[{"in":"query","name":"cascade_manager","description":"The JumpCloud user ID of the replacement manager. If this is not set, we'll clear the manager from any user that this user is the manager of.","schema":{"description":"The JumpCloud user ID of the replacement manager. If this is not set, we'll clear the manager from any user that this user is the manager of.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullUserData"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/activate":{"post":{"tags":["JumpCloud Users"],"summary":"Activate a JumpCloud user by sending an activation email.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_state_activate.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivationEmail"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"User activated successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/password":{"post":{"tags":["JumpCloud Users"],"summary":"Set the password for a specific JumpCloud user.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_put.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPassword"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullUserData"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/memberof":{"get":{"tags":["JumpCloud Users"],"summary":"Retrieve the groups that a specific JumpCloud user belongs to.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Users/operation/graph_userMemberOf.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"sort","description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","schema":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":"string"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A list of group associations that the specified JumpCloud user belongs to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults4"},"example":{"results":[{"compiledAttributes":{"ldapGroups":[{"name":"All Users"}]},"id":"665970b72c529d00012e51ca","paths":[[{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"All Users"}]},"id":"665970b72c529d00012e51ca","type":"userGroup"}}]],"type":"userGroup"},{"compiledAttributes":{"ldapGroups":[{"name":"Designers"}]},"id":"6662f4eafa74800001f3e566","paths":[[{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"Designers"}]},"id":"6662f4eafa74800001f3e566","type":"userGroup"}}]],"type":"userGroup"}],"totalCount":2}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/apps":{"get":{"tags":["JumpCloud Users"],"summary":"Retrieve the applications that a specific JumpCloud user has access to. ","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Users/operation/graph_userTraverseApplication.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the query. See JumpCloud API docs for examples.","schema":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":"string"},"style":"form"},{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A list of applications that the specified JumpCloud user has access to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOfResults4"},"example":{"results":[{"compiledAttributes":{"ldapGroups":[{"name":"All Users"}]},"id":"665970c1b986ab3a69ccda1d","paths":[[{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"All Users"}]},"id":"665970b72c529d00012e51ca","type":"userGroup"}},{"attributes":null,"to":{"id":"665970c1b986ab3a69ccda1d","type":"application"}}]],"type":"application"},{"compiledAttributes":{"ldapGroups":[{"name":"All Users"}]},"id":"66a1bcb7c1ad866af1ac0b99","paths":[[{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"All Users"}]},"id":"665970b72c529d00012e51ca","type":"userGroup"}},{"attributes":null,"to":{"id":"66a1bcb7c1ad866af1ac0b99","type":"application"}}]],"type":"application"}],"totalCount":2}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/unlock":{"post":{"tags":["JumpCloud Users"],"summary":"Unlock a specific JumpCloud user.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_unlock.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"User unlocked successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/expire":{"post":{"tags":["JumpCloud Users"],"summary":"Expire the password for a specific JumpCloud user.","description":"Please see here for details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_expire.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"User password expired successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/push":{"get":{"tags":["JumpCloud Users"],"summary":"Retrieve the push credentials for a specific JumpCloud user.","description":"Please see here for details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Users/operation/pushEndpoints_list.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PushCredential"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/push/{cred_id}":{"put":{"tags":["JumpCloud Users"],"summary":"Update a JumpCloud push credential for a specific JumpCloud user.","description":"Please see here for more details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Users/operation/pushEndpoints_patch.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePushCredential"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A push credential for a user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushCredential"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["JumpCloud Users"],"summary":"Delete a JumpCloud push credential for a specific JumpCloud user.","description":"Please see here for more details: https://docs.jumpcloud.com/api/2.0/index.html#tag/Users/operation/pushEndpoints_delete.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"User push credential deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/webauthn":{"get":{"tags":["JumpCloud Users"],"summary":"Retrieve the WebAuthN credentials for a specific JumpCloud user.","description":"Note: This uses an undocumented JumpCloud API endpoint.","parameters":[{"in":"query","name":"limit","description":"The number of records to return at once. Limited to 100. Defaults to 10.","schema":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":"integer","format":"uint","minimum":0},"style":"form"},{"in":"query","name":"skip","description":"The offset into the records to return. Defaults to 0.","schema":{"description":"The offset into the records to return. Defaults to 0.","type":"integer","format":"uint","minimum":0},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebAuthNCredential"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/webauthn/{cred_id}":{"put":{"tags":["JumpCloud Users"],"summary":"Update a JumpCloud WebAuthn credential for a specific JumpCloud user.","description":"Note: This uses an undocumented JumpCloud API endpoint.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebAuthNCredential"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A webauthn credential for a user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebAuthNCredential"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["JumpCloud Users"],"summary":"Delete a WebAuthN credential for a specific JumpCloud user.","description":"Note: This uses an undocumented JumpCloud API endpoint.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"User WebAuthN credential deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/totp":{"get":{"tags":["JumpCloud Users"],"summary":"Get the TOTP info for a specific JumpCloud user.","description":"Please see here for more details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_totp_info.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TOTPCredential"}}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/jumpcloud/user/{user_id}/resettotp":{"post":{"tags":["JumpCloud Users"],"summary":"Reset the TOTP Authenticator for a specific JumpCloud user.","description":"Please see here for more details: https://docs.jumpcloud.com/api/1.0/index.html#tag/Systemusers/operation/systemusers_resetmfa.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetTOTPCredential"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"User TOTP reset successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/integration/{integration_id}/secret":{"get":{"tags":["Integrations"],"summary":"Retrieve the secrets metadata for an integration.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"API Secrets Info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSecretsInfo"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Integrations"],"summary":"Update the secret for an integration.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormApiSecretsInfo"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"API Secrets Info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSecretsInfo"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Integrations"],"summary":"Create a new secret for an integration.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormApiSecretsInfo"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"API Secrets Info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSecretsInfo"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Integrations"],"summary":"Delete the secret for an integration.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Integration deleted successfully. No content returned."}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/tasks":{"get":{"tags":["Tasks"],"summary":"Fetch a list of tasks.","parameters":[{"in":"query","name":"filter","description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","schema":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":"string"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult19"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/tasks/count":{"get":{"tags":["Tasks"],"summary":"Fetch the count of tasks.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The count of tasks.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TasksCountResponse"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/tasks/{task_id}":{"get":{"tags":["Tasks"],"summary":"Fetch a specific task.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A task for an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/tasks/{task_id}/status":{"put":{"tags":["Tasks"],"summary":"Update the status of a specific task.","requestBody":{"description":"The status of the task.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTaskStatus"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A task for an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/user/{user_id}/members":{"get":{"tags":["Users"],"summary":"Fetch the computed group memberships of a user, with drift signal.","description":"Returns the user's composite group memberships merged from persisted rows and live dynamic-rule evaluation. Each row includes an `origin` field indicating whether it was backed by the database (`Database`) or computed live from provider data (`Computed`). `Computed` rows signal drift between the persisted state and current provider data.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of group memberships for the user, with drift origin.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserGroupMembership"}},"example":[{"composite_group_id":"019223a6-3ed0-72cb-a2fc-78ebe61630c8","group_name":"Engineering","origin":"computed","rule_type":"DYNAMIC"}]}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/user/{user_id}/apps":{"get":{"tags":["Users"],"summary":"Fetch the app memberships of a specific user.","description":"Returns a list of applications the user has access to, including how access was granted (STATIC, NESTED, or DYNAMIC). Works for all directory configurations (JumpCloud, Google Workspace, or both).","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of app memberships for the user.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserAppMembership"}},"example":[{"app_id":"019223a6-41a4-7b2f-afd5-0cbcb9d48ebe","app_name":"Notion","composite_group_id":"019223a6-3ed0-72cb-a2fc-78ebe61630c8","external_id":"666a96251292ff856bf7cba7","logo_url":"https://img.logo.dev/notion.so","origin":"database","rule_type":"STATIC","source_group_id":null,"source_group_name":null}]}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/user/employee_portal":{"put":{"tags":["Employee Portal"],"summary":"Update the employee portal preferences for a specific user.","description":"This endpoints only supports token authentication. This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/apikey.","requestBody":{"description":"The employee portal preferences for a user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeePortalPreferences"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The employee portal preferences for a user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeePortalPreferences"}}}}}}},"/api/{org_id}/users":{"get":{"tags":["Users"],"summary":"Fetch the list of users assigned to ShiftControl.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/org#fetch-users-in-org.","parameters":[{"in":"query","name":"page","description":"The page to retrieve, always starts at 0.","schema":{"description":"The page to retrieve, always starts at 0.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","schema":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":"integer","format":"int64"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The list of users in the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPagedResponse"},"example":{"current_page":0,"has_more_results":false,"page_size":100,"total_users":1,"users":[{"additional_roles_in_org":null,"created_at":1736412720,"email":"sam.butler@example.com","email_confirmed":true,"enabled":false,"first_name":"Sam","has_password":false,"last_active_at":1736412720,"last_name":"Butler","locked":false,"mfa_enabled":false,"picture_url":"https://img.propelauth.com/2a27d237-db8c-4f82-84fb-5824dfaedc87.png","role_in_org":null,"user_id":"23b90422-3366-4f3b-aedb-81aef6d0931c"}]}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/user/{user_id}":{"get":{"tags":["Users"],"summary":"Fetch the details of a user.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/user#fetch-user.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The details of the user. Note this response doesn't include role data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserMetadata"},"example":{"additional_roles_in_org":null,"created_at":1736412720,"email":"sam.butler@example.com","email_confirmed":true,"enabled":false,"first_name":"Sam","has_password":false,"last_active_at":1736412720,"last_name":"Butler","locked":false,"mfa_enabled":false,"picture_url":"https://img.propelauth.com/2a27d237-db8c-4f82-84fb-5824dfaedc87.png","role_in_org":null,"user_id":"23b90422-3366-4f3b-aedb-81aef6d0931c"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Users"],"summary":"Update the metadata of a ShiftControl user.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/user#fetch-user.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"The updated user data. Note this response doesn't include role data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserMetadata"},"example":{"additional_roles_in_org":null,"created_at":1736412720,"email":"sam.butler@example.com","email_confirmed":true,"enabled":false,"first_name":"Sam","has_password":false,"last_active_at":1736412720,"last_name":"Butler","locked":false,"mfa_enabled":false,"picture_url":"https://img.propelauth.com/2a27d237-db8c-4f82-84fb-5824dfaedc87.png","role_in_org":null,"user_id":"23b90422-3366-4f3b-aedb-81aef6d0931c"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/user/{user_id}/role":{"put":{"tags":["Users"],"summary":"Update the role of a user in ShiftControl.","description":"This API takes input data and outputs data in accordance with a downstream API from PropelAuth which is documented here: https://docs.propelauth.com/reference/api/user#fetch-user.","requestBody":{"description":"The role of a user in an organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrgUserRole"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"The updated user role. Note this response doesn't include role data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserMetadata"},"example":{"additional_roles_in_org":null,"created_at":1736412720,"email":"sam.butler@example.com","email_confirmed":true,"enabled":false,"first_name":"Sam","has_password":false,"last_active_at":1736412720,"last_name":"Butler","locked":false,"mfa_enabled":false,"picture_url":"https://img.propelauth.com/2a27d237-db8c-4f82-84fb-5824dfaedc87.png","role_in_org":null,"user_id":"23b90422-3366-4f3b-aedb-81aef6d0931c"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/users/apps/count":{"get":{"tags":["Users"],"summary":"Retrieve per-user app counts for an organization.","description":"Returns a map of user IDs to the count of applications they have access to, computed from resolved composite group memberships. Works for all directory configurations (JumpCloud, Google Workspace, or both).","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A map of user IDs to the count of applications they have access to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserApplicationsCountMap"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/work-items":{"get":{"tags":["Work Items"],"summary":"List work items for an organization.","description":"Offset-paginated list of work items with optional filters (status, type, source, assignee, target user/app, parent_id, unapproved, free-text title filter).","parameters":[{"in":"query","name":"assignee_email","description":"Filter to work items whose assignee email matches (case-insensitive).","schema":{"description":"Filter to work items whose assignee email matches (case-insensitive).","type":"string"},"style":"form"},{"in":"query","name":"assignee_user_id","description":"Filter to work items currently assigned to this user UUID.","schema":{"description":"Filter to work items currently assigned to this user UUID.","type":"string","format":"uuid"},"style":"form"},{"in":"query","name":"filter","description":"Free-text filter applied to the work item title (case-insensitive substring match).","schema":{"description":"Free-text filter applied to the work item title (case-insensitive substring match).","type":"string"},"style":"form"},{"in":"query","name":"open","description":"When true, return only open work items — those not yet DONE or CANCELED.","schema":{"description":"When true, return only open work items — those not yet DONE or CANCELED.","type":"boolean"},"style":"form"},{"in":"query","name":"page","description":"The page to retrieve, always starts at 0. Defaults to 0 when omitted.","schema":{"description":"The page to retrieve, always starts at 0. Defaults to 0 when omitted.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"page_size","description":"The number of items to retrieve per page. Defaults to 10 when omitted; values below 1 are treated as 1.","schema":{"description":"The number of items to retrieve per page. Defaults to 10 when omitted; values below 1 are treated as 1.","type":"integer","format":"int64"},"style":"form"},{"in":"query","name":"parent_id","description":"Filter to work items whose parent_id matches this UUID (i.e. children of a given parent).","schema":{"description":"Filter to work items whose parent_id matches this UUID (i.e. children of a given parent).","type":"string","format":"uuid"},"style":"form"},{"in":"query","name":"source","description":"Filter to work items with this source value (e.g. MANUAL_ADMIN, EMPLOYEE_REQUEST, SCIM, HRIS_EVENT).","schema":{"description":"Filter to work items with this source value (e.g. MANUAL_ADMIN, EMPLOYEE_REQUEST, SCIM, HRIS_EVENT).","$ref":"#/components/schemas/WorkItemSourceEnum"},"style":"form"},{"in":"query","name":"status","description":"Filter to work items in this status (e.g. NEW, IN_PROGRESS, BLOCKED, DONE, CANCELED).","schema":{"description":"Filter to work items in this status (e.g. NEW, IN_PROGRESS, BLOCKED, DONE, CANCELED).","$ref":"#/components/schemas/WorkItemStatusEnum"},"style":"form"},{"in":"query","name":"statuses","description":"Filter to work items whose status is any of these values. Repeat the parameter to pass several (e.g. statuses=TODO&statuses=IN_PROGRESS); combined with OR, then AND-ed with the other filters.","schema":{"description":"Filter to work items whose status is any of these values. Repeat the parameter to pass several (e.g. statuses=TODO&statuses=IN_PROGRESS); combined with OR, then AND-ed with the other filters.","type":"array","items":{"$ref":"#/components/schemas/WorkItemStatusEnum"}},"style":"form"},{"in":"query","name":"target_resource_id","description":"Filter to work items targeting this resource ID.","schema":{"description":"Filter to work items targeting this resource ID.","type":"string","format":"uuid"},"style":"form"},{"in":"query","name":"target_resource_kind","description":"Filter to work items whose targeted resource is of this kind (e.g. APP, GROUP).","schema":{"description":"Filter to work items whose targeted resource is of this kind (e.g. APP, GROUP).","$ref":"#/components/schemas/WorkItemResourceKindEnum"},"style":"form"},{"in":"query","name":"target_user_email","description":"Filter to work items whose target user email matches (case-insensitive).","schema":{"description":"Filter to work items whose target user email matches (case-insensitive).","type":"string"},"style":"form"},{"in":"query","name":"type","description":"Filter to work items of this type (e.g. APP_ACCESS_REQUEST, ONBOARDING, OFFBOARDING).","schema":{"description":"Filter to work items of this type (e.g. APP_ACCESS_REQUEST, ONBOARDING, OFFBOARDING).","$ref":"#/components/schemas/WorkItemTypeEnum"},"style":"form"},{"in":"query","name":"unapproved","description":"When true, return only work items that are pending approval.","schema":{"description":"When true, return only work items that are pending approval.","type":"boolean"},"style":"form"}],"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A paginated list of items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginationResult17"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Work Items"],"summary":"Create a work item.","description":"Creates a new work item. The server fills `source`, `approved_at`, `scim_eligible`, `template_id`, and the captured assignee/target names; clients cannot supply any of those fields.","requestBody":{"description":"Fields to create a work item. The work item starts unapproved and is assigned to you unless you specify an assignee.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateWorkItemRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"A work item representing a unit of work in the task management system (onboarding, offboarding, access requests, etc.).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItem"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/work-items/{id}":{"get":{"tags":["Work Items"],"summary":"Get a work item with inlined history, comments, and watchers.","description":"Returns the work item flattened at the top of the JSON object plus three inline arrays: `history`, `comments`, and `watchers`. A work item that exists in another organization returns 404, the same as one that doesn't exist.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"A work item with its history, comments, and watchers inlined. The work item fields are flattened into the top-level object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItemDetailResponse"}}}}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["Work Items"],"summary":"Update a work item.","description":"Partial update. Reassignment uses `assignee_user_id` only — the assignee's email and name are resolved and updated automatically. Clearing the assignee is not supported. Status changes must be valid transitions from the current status.","requestBody":{"description":"Mutable fields on a work item exposed to admin clients. Reassignment uses assignee_user_id only — the assignee's email and name are resolved automatically. For nullable fields: omit to leave unchanged, send null to clear, or send a value to set it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchWorkItemRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A work item representing a unit of work in the task management system (onboarding, offboarding, access requests, etc.).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItem"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/work-items/{id}/approve":{"patch":{"tags":["Work Items"],"summary":"Approve a work item.","description":"Approves the current stage of the work item's approval flow. Any current-stage approver, or a caller with the work-item approval permission, can approve. When the final stage clears, the work item is marked approved and reassigned to its downstream owner.","requestBody":{"description":"Body for approving a work item. Approves the current stage of the work item's approval flow.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A work item representing a unit of work in the task management system (onboarding, offboarding, access requests, etc.).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItem"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/work-items/{id}/deny":{"patch":{"tags":["Work Items"],"summary":"Deny a work item.","description":"Denies the current stage of the work item's approval flow, which rejects the work item and cancels it. Any current-stage approver, or a caller with the work-item approval permission, can deny. An optional `comment` is recorded alongside the denial, and pending child items are canceled as well.","requestBody":{"description":"Body for denying a work item. Denies the current stage, which rejects and cancels the work item; the optional comment is recorded alongside the denial.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DenyRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"200":{"description":"A work item representing a unit of work in the task management system (onboarding, offboarding, access requests, etc.).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItem"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/work-items/{id}/comments":{"get":{"tags":["Work Items"],"summary":"List comments on a work item.","description":"Returns the same data inlined in the `comments` array on `GET /{id}`.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkItemComment"}}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Work Items"],"summary":"Post a comment on a work item.","description":"Adds a comment to the work item and records it in the work item's history. The body must not be empty or whitespace-only.","requestBody":{"description":"Body for posting a comment on a work item. The body must not be empty or whitespace-only.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCommentRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"An immutable plain-text comment on a work item.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItemComment"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/work-items/{id}/watchers":{"get":{"tags":["Work Items"],"summary":"List watchers on a work item.","description":"Returns the same data inlined in the `watchers` array on `GET /{id}`.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkItemWatcher"}}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Work Items"],"summary":"Add a watcher to a work item.","description":"Provide exactly one of `user_id` or `email`. Providing both or neither returns 422. A `user_id` must belong to your organization. An `email` for someone not in your organization is still added as a watcher, so external collaborators can be included. Adding the same watcher again returns the existing watcher without creating a duplicate.","requestBody":{"description":"Add a watcher to a work item. Provide exactly one of user_id (a user in your organization) or email (for someone not yet in your organization).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddWatcherRequest"}}},"required":true},"responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"400":{"description":"Failed to parse the request body as JSON","content":{"text/plain":{"schema":{"type":"string"}}}},"415":{"description":"Expected request with `Content-Type: application/json`","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}},"201":{"description":"A user watching a work item. Receives notifications on updates.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItemWatcher"}}}}},"security":[{"BearerAuth":[]}]}},"/api/{org_id}/work-items/{id}/watchers/{watcher_id}":{"delete":{"tags":["Work Items"],"summary":"Remove a watcher from a work item.","description":"Removes the watcher and records the change in the work item's history. Removing a watcher that doesn't exist has no effect and still returns 204.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"204":{"description":"Watcher removed (or already absent)."}},"security":[{"BearerAuth":[]}]}},"/api/identity/me":{"get":{"tags":["Identity"],"summary":"Get current identity","description":"Returns identity and organization information for the authenticated caller. Accepts JWT tokens, personal API keys, and org API keys. The response shape varies based on the auth method used.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Identity information for the authenticated caller","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityResponse"}}}}}}},"/health-check/check":{"get":{"tags":["Health"],"summary":"Health check endpoint","description":"Returns 200 OK when the service is healthy.","responses":{"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_CONFLICT","error":"A conflict occurred with the current state of the resource","status":409}}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_UNAUTHORIZED","error":"Authentication required","status":401}}}}},"403":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_FORBIDDEN","error":"You do not have permission to access this resource","status":403}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_NOT_FOUND","error":"Resource not found","status":404}}}}},"429":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_TOO_MANY_REQUESTS","error":"Rate limit exceeded. Please try again later","status":429}}}}},"500":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_INTERNAL_SERVER_ERROR","error":"An unexpected error occurred","status":500}}}}},"502":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse","example":{"code":"E_BAD_GATEWAY","error":"Upstream service is unavailable","status":502}}}}},"200":{"description":"Service is healthy"}}}},"/api-docs":{"get":{"description":"This page provides a user-friendly interface for exploring the ShiftControl API documentation using Scalar.","responses":{"200":{"description":"HTML content","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api-docs/redoc":{"get":{"description":"This page provides a user-friendly interface for exploring the ShiftControl API documentation using Redoc.","responses":{"200":{"description":"HTML content","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api-docs/swagger":{"get":{"description":"This page provides a user-friendly interface for exploring the ShiftControl API documentation using Swagger.","responses":{"200":{"description":"HTML content","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The `Authorization` header is used to authenticate API requests. It should contain a valid API key prefixed with the word `Bearer`. The API key can be either a user API key or an organization API key."}},"schemas":{"AccessRequest":{"description":"A granted access request (`GET /v2/accessrequests/{id}`).\n\n`id` is JumpCloud's numeric internal id; `access_id` is the UUID used in\nthe URL path. `additional_attributes` is a **base64-encoded JSON string**\nof the granted attributes (decode to recover the `sudo` object).","type":"object","properties":{"accessId":{"description":"UUID used as the `{id}` path segment. Defaulted so a 200 that omits it\ndegrades to an empty string rather than hard-failing the whole parse\n(the rest of the grant state still deserializes).","type":"string","default":""},"accessState":{"description":"Lifecycle state, e.g. `\"granted\"`.","type":["string","null"]},"additionalAttributes":{"description":"Base64-encoded JSON of the granted attributes.","type":["string","null"]},"duration":{"description":"Granted duration in seconds.","type":["integer","null"],"format":"int64"},"expiry":{"type":["string","null"]},"id":{"type":["integer","null"],"format":"int64"},"onBehalfOfUserId":{"type":["string","null"]},"remarks":{"type":["string","null"]},"requestorId":{"type":["string","null"]},"resourceId":{"type":["string","null"]},"resourceType":{"type":["string","null"]}}},"AccessRequestAttributes":{"description":"The granted attributes carried on an access request create body.","type":"object","properties":{"sudo":{"anyOf":[{"$ref":"#/components/schemas/SudoSetting"},{"type":"null"}]}}},"ActivateCard":{"description":"Activate a digital business card for a person, optionally prefilling it from their directory profile.","type":"object","properties":{"prefill_from_profile":{"description":"When true, the new card is prefilled from the person's directory profile (name, job title, department, photo). When false, the card starts empty.","type":"boolean"}},"examples":[{"prefill_from_profile":true}],"required":["prefill_from_profile"]},"ActivationEmail":{"type":"object","properties":{"email":{"description":"A valid email, usually a company or personal email.","type":"string"}},"examples":[{"email":"william.brown@example.com"}],"required":["email"]},"Activity":{"description":"JSON template for the activity resource.","type":"object","properties":{"actor":{"description":"User doing the action.","allOf":[{"$ref":"#/components/schemas/Actor"}]},"etag":{"description":"ETag of the entry.","type":"string"},"events":{"description":"List of activity events in the report.","type":"array","items":{"$ref":"#/components/schemas/Event2"}},"id":{"description":"Unique identifier for the activity record.","allOf":[{"$ref":"#/components/schemas/ActivityId"}]},"ipAddress":{"description":"IP address of the user doing the action.","type":["string","null"]},"kind":{"description":"The type of API resource. For an activity report, the value is audit#activity.","type":"string"},"ownerDomain":{"description":"Domain affected by the report's event.","type":["string","null"]}},"examples":[{"actor":{"email":"dan@shiftcontrol.io","profileId":"114181934516487139191"},"etag":"\"jU0KT31_ZGp_PFE-Azsae6_ituAJMcFBswEzAQv1aIk/z07dEpo-VVLyITa0RELA_nJVN7Q\"","events":[{"name":"authorize","parameters":[{"name":"client_id","value":"227648260921-l0mdh1papvkfonvp7frb5sj3a56kcqum.apps.googleusercontent.com"},{"name":"app_name","value":"ShiftControl"},{"name":"client_type","value":"WEB"},{"multiMessageValue":[{"parameter":[{"name":"scope_name","value":"https://www.googleapis.com/auth/admin.reports.audit.readonly"},{"multiValue":["GSUITE_ADMIN"],"name":"product_bucket"}]},{"parameter":[{"name":"scope_name","value":"https://www.googleapis.com/auth/userinfo.email"},{"multiValue":["IDENTITY","OTHER"],"name":"product_bucket"}]},{"parameter":[{"name":"scope_name","value":"https://www.googleapis.com/auth/userinfo.profile"},{"multiValue":["IDENTITY","OTHER"],"name":"product_bucket"}]},{"parameter":[{"name":"scope_name","value":"openid"},{"multiValue":["IDENTITY","OTHER"],"name":"product_bucket"}]}],"name":"scope_data"},{"multiValue":["https://www.googleapis.com/auth/admin.reports.audit.readonly","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","openid"],"name":"scope"}],"type":"auth"}],"id":{"applicationName":"token","customerId":"C01e2sl0v","time":"2024-09-19T00:04:58.577Z","uniqueQualifier":"-2356873480160930674"},"ipAddress":"192.0.2.1","kind":"admin#reports#activity"}],"required":["kind","etag","events","id","actor"]},"ActivityId":{"description":"Unique identifier for each activity record.","type":"object","properties":{"applicationName":{"description":"Application name to which the event belongs.","type":"string"},"customerId":{"description":"The unique identifier for a Google Workspace account.","type":"string"},"time":{"description":"Time of occurrence of the activity in UNIX epoch seconds.","type":"string"},"uniqueQualifier":{"description":"Unique qualifier if multiple events have the same time.","type":"string"}},"required":["time","uniqueQualifier","applicationName","customerId"]},"ActivityQueryParams":{"description":"Query parameters for the Admin Reports API Activities list.","type":"object","properties":{"actorIpAddress":{"description":"The Internet Protocol (IP) address where the event was performed.","type":["string","null"]},"customerId":{"description":"The unique ID of the customer to retrieve data for.","type":["string","null"]},"endTime":{"description":"The end of the time range for the report in RFC 3339 format.","type":["string","null"]},"eventName":{"description":"The name of the event being queried by the API.","type":["string","null"]},"filters":{"description":"A comma-separated list of filters with event parameters and relational operators.","type":["string","null"]},"groupIdFilter":{"description":"Comma separated group ids on which user activities are filtered.","type":["string","null"]},"maxResults":{"description":"Determines how many activity records are shown on each response page. Defaults to 1000.","type":["integer","null"],"format":"uint32","minimum":0},"orgUnitId":{"description":"ID of the organizational unit to report on.","type":["string","null"]},"pageToken":{"description":"The token to specify the next page of results in a multi-page report.","type":["string","null"]},"startTime":{"description":"The beginning of the time range for the report in RFC 3339 format.","type":["string","null"]}},"examples":[{"actorIpAddress":"192.168.1.1","customerId":"customer123","endTime":"2023-01-31T23:59:59Z","eventName":"login","filters":"status=SUCCESS","groupIdFilter":"groupId123","maxResults":100,"orgUnitId":"orgUnit123","pageToken":"nextPageToken","startTime":"2023-01-01T00:00:00Z"}]},"Actor":{"description":"User doing the action.","type":"object","properties":{"applicationInfo":{"description":"Information about the application that performed the action.","anyOf":[{"$ref":"#/components/schemas/ApplicationInfo"},{"type":"null"}]},"callerType":{"description":"The type of actor.","type":["string","null"]},"email":{"description":"The primary email address of the actor. Absent for system-initiated events (callerType=KEY).","type":["string","null"]},"key":{"description":"The key of the actor when callerType is KEY.","type":["string","null"]},"profileId":{"description":"The unique Google Workspace profile ID of the actor. Absent for system-initiated events (callerType=KEY).","type":["string","null"]}}},"AddWatcherRequest":{"description":"Add a watcher to a work item. Provide exactly one of user_id (a user in your organization) or email (for someone not yet in your organization).","type":"object","properties":{"email":{"description":"Email address of a watcher who isn't a user in your organization. The email is stored in lowercase.","type":["string","null"]},"user_id":{"description":"ID of the user to add as a watcher. The user must belong to your organization; their email and name are resolved automatically.","type":["string","null"],"format":"uuid"}}},"Address":{"description":"Represents a postal address for the user. Maximum allowed data size is 10KB.","type":"object","properties":{"country":{"description":"Country.","type":["string","null"]},"countryCode":{"description":"The country code using the ISO 3166-1 standard.","type":["string","null"]},"customType":{"description":"If the address type is custom, this property contains the custom value and must be set.","type":["string","null"]},"extendedAddress":{"description":"For extended addresses, such as an address that includes a sub-region.","type":["string","null"]},"formatted":{"description":"A full and unstructured postal address.","type":["string","null"]},"locality":{"description":"The town or city of the address.","type":["string","null"]},"poBox":{"description":"The post office box, if present.","type":["string","null"]},"postalCode":{"description":"The ZIP or postal code, if applicable.","type":["string","null"]},"primary":{"description":"Indicates if this is the user's primary address.","type":["boolean","null"]},"region":{"description":"The abbreviated province or state.","type":["string","null"]},"sourceIsStructured":{"description":"Indicates if the user-supplied address was formatted.","type":["boolean","null"]},"streetAddress":{"description":"The street address, such as 1600 Amphitheatre Parkway.","type":["string","null"]},"type":{"description":"The address type. Acceptable values: custom, home, other, work.","type":["string","null"]}}},"Addresses":{"type":"object","properties":{"country":{"type":["string","null"]},"extendedAddress":{"type":["string","null"]},"id":{"type":["string","null"]},"locality":{"type":["string","null"]},"poBox":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"region":{"type":["string","null"]},"streetAddress":{"type":["string","null"]},"type":{"type":["string","null"]}}},"Ades":{"description":"Automated Device Enrollment Settings","type":"object","properties":{"ios":true,"macos":true},"examples":[{}]},"AdminRole":{"description":"Administrator Role","type":"object","properties":{"_id":{"description":"The ID of the role","type":"string"},"name":{"description":"The name of the role","type":"string"},"scopes":{"description":"The scopes associated with the role","type":"array","items":{"type":"string"}}},"examples":[{"_id":"53d133c93e45a58b60be47ea","name":"Administrator With Billing","scopes":["addons.readonly","administrators","applications","applicationtemplates","authn","billing","commands","commandtemplates","directories","directoryinsights.readonly","events.readonly","groups","jobs","mdm","mfa","notifications","organizations","passwordmanager","partners","organizations.billing","protect","promos","providers","radius","remoteassist","roles","scim","settings.readonly","subscriptions.readonly","support","systeminsights.readonly","systems","userportal","users","vpp","accessrequest","accessrequest.readonly","accessmanagement","accessmanagement.readonly","healthmonitoring.rules","healthmonitoring.alerts","saas","reports","searchapi.readonly","nli.readonly"]}],"required":["name","scopes","_id"]},"Administrator":{"description":"Administrator User Data","type":"object","properties":{"_id":{"type":"string"},"apiKeyAllowed":{"type":"boolean"},"apiKeyHash":{"anyOf":[{"$ref":"#/components/schemas/ApiKeyHash"},{"type":"null"}]},"apiKeySet":{"type":"boolean"},"apiKeyUpdatedAt":{"type":["string","null"]},"created":{"type":"string"},"disableIntroduction":{"type":"boolean"},"email":{"type":"string"},"enableMultiFactor":{"type":"boolean"},"firstname":{"type":"string"},"growthData":{"$ref":"#/components/schemas/GrowthData"},"lastWhatsNewChecked":{"type":"string"},"lastname":{"type":"string"},"organization":{"type":["string","null"]},"passwordUpdatedAt":{"type":["string","null"]},"provider":{"type":["string","null"]},"role":{"type":"string"},"roleName":{"type":"string"},"sessionCount":{"type":["integer","null"],"format":"int64"},"suspended":{"type":"boolean"},"totpEnrolled":{"type":["boolean","null"]},"totpUpdatedAt":{"type":["string","null"]},"usersTimeZone":{"type":"string"}},"examples":[{"_id":"660c9bbeaf7d18e969221223","apiKeyAllowed":true,"apiKeyHash":{"createdAt":"2024-01-01T00:00:00Z","expireAt":"2025-01-01T00:00:00Z","prefix":"abc123"},"apiKeySet":true,"apiKeyUpdatedAt":"2024-01-01T00:00:00Z","created":"2024-01-01T00:00:00Z","disableIntroduction":false,"email":"user@example.com","enableMultiFactor":true,"firstname":"John","growthData":{"experimentStates":{"example":"state"},"onboardingState":{"checklistExpandedIndex":0}},"lastWhatsNewChecked":"2024-01-01T00:00:00Z","lastname":"Doe","organization":"660c9bbeef7d18e969865291","passwordUpdatedAt":"2024-01-01T00:00:00Z","provider":"660c9bbeef7d18e969865291","role":"53d133c93e45a58b60be47ea","roleName":"Administrator","sessionCount":123,"suspended":false,"totpEnrolled":true,"totpUpdatedAt":"2024-01-01T00:00:00Z","usersTimeZone":"UTC"}],"required":["_id","apiKeyAllowed","apiKeySet","created","disableIntroduction","email","enableMultiFactor","firstname","growthData","lastWhatsNewChecked","lastname","role","roleName","suspended","usersTimeZone"]},"Alt":{"description":"The format of the response.","oneOf":[{"description":"Returns the response in JSON format.","type":"string","const":"json"},{"description":"Returns the response in a pretty-printed format.","type":"string","const":"atom"}]},"ApiErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"error":{"type":"string"},"status":{"type":"integer","format":"uint16","maximum":65535,"minimum":0}},"required":["code","status","error"]},"ApiKeyHash":{"description":"API Key Hash","type":"object","properties":{"createdAt":{"type":["string","null"]},"expireAt":{"type":["string","null"]},"prefix":{"type":"string"}},"examples":[{"createdAt":"2024-01-01T00:00:00Z","expireAt":"2025-01-01T00:00:00Z","prefix":"abc123"}],"required":["prefix"]},"ApiSecretsInfo":{"description":"API Secrets Info","type":"object","properties":{"created_at":{"type":"string","format":"partial-date-time"},"integration_id":{"type":"string","format":"uuid"},"org_id":{"type":"string","format":"uuid"},"secrets_location":{"type":["string","null"]},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"created_at":"2025-02-08T02:21:25.220767","integration_id":"0194e333-6694-776a-8253-a0ef4d913265","org_id":"3756d031-835e-45f5-a709-82ec7335957f","secrets_location":null,"updated_at":"2025-02-08T02:21:25.220767"}],"required":["org_id","integration_id","created_at","updated_at"]},"App":{"description":"An application.","type":"object","properties":{"app_catalog_id":{"type":["string","null"],"format":"uuid"},"app_id":{"type":"string","format":"uuid"},"app_name":{"type":"string"},"archived_at":{"description":"Timestamp when the app was archived. Null if not archived.","type":["string","null"],"format":"partial-date-time"},"archived_by":{"description":"Email address of the user who archived this app. Null if not archived.","type":["string","null"]},"billing_frequency":{"type":["string","null"]},"bookmark_url":{"description":"Launch URL for the app in the employee portal. Derived from JumpCloud SSO config or set manually.","type":["string","null"]},"budget_owner":{"description":"A reference to the budget owner user within a specific directory.","anyOf":[{"$ref":"#/components/schemas/UserReference"},{"type":"null"}]},"composite_group_id":{"type":["string","null"],"format":"uuid"},"contract_end_date":{"type":["string","null"],"format":"partial-date-time"},"contract_term_number":{"type":["integer","null"],"format":"int32"},"contract_term_period":{"type":["string","null"]},"cost":{"type":["string","number","null"],"pattern":"^-?\\d+(\\.\\d+)?([eE]\\d+)?$"},"cost_currency":{"type":["string","null"]},"cost_structure":{"type":["string","null"]},"created_at":{"type":"string","format":"partial-date-time"},"description":{"type":["string","null"]},"detected_user_count":{"description":"The number of users detected in the app updated via a downstream integration.","type":["integer","null"],"format":"int32"},"external_id":{"description":"The ID of the app in the IdP (e.g., JumpCloud). Null for IdPs that don't support apps.","type":["string","null"]},"logo_url":{"description":"Direct URL to the app's logo image (logo.dev, S3/CloudFront, or any HTTPS URL).","type":["string","null"]},"metadata":{"description":"Additional metadata for the app."},"notes":{"type":["string","null"]},"org_id":{"type":"string","format":"uuid"},"owning_dept":{"description":"Denormalized department name kept in sync with owning_dept_id.","type":["string","null"]},"owning_dept_id":{"description":"References departments.department_id","type":["string","null"],"format":"uuid"},"platform_fee":{"type":["string","number","null"],"pattern":"^-?\\d+(\\.\\d+)?([eE]\\d+)?$"},"primary_admin":{"description":"A reference to the primary admin user within a specific directory.","anyOf":[{"$ref":"#/components/schemas/UserReference"},{"type":"null"}]},"renewal_grace_period":{"type":["integer","null"],"format":"int32"},"status":{"description":"The status of the app: 'active' or 'archived'.","type":"string"},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"app_catalog_id":"01922310-fcf1-7776-849f-808d205490de","app_id":"019223a6-41a4-7b2f-afd5-0cbcb9d48ebe","app_name":"JumpCloud Password Manager","archived_at":null,"archived_by":null,"billing_frequency":null,"bookmark_url":"https://example.com","budget_owner":null,"composite_group_id":"019223a6-3ed0-72cb-a2fc-78ebe61630c8","contract_end_date":null,"contract_term_number":null,"contract_term_period":null,"cost":null,"cost_currency":null,"cost_structure":null,"created_at":"2024-09-24T10:49:11.337247","description":"JumpCloud Password Manager simplifies secure password management across all apps, enabling users to store, share, and auto-fill credentials effortlessly.","detected_user_count":5,"external_id":"666a96251292ff856bf7cba7","logo_url":"https://img.logo.dev/example.com","metadata":null,"notes":null,"org_id":"3756d031-835e-45f5-a709-82ec7335957f","owning_dept":null,"owning_dept_id":null,"platform_fee":null,"primary_admin":null,"renewal_grace_period":null,"status":"active","updated_at":"2024-09-24T10:49:11.337247"}],"required":["app_id","app_name","org_id","created_at","updated_at","status"]},"AppAssignments":{"type":"object","properties":{"nested_groups":{"description":"Groups that are assigned to this app, using composite_group_id.","type":["array","null"],"items":{"type":"string"}},"users":{"description":"Users that are assigned to this app, using user_id.","type":["array","null"],"items":{"type":"string"}}}},"AppCatalog":{"description":"An App Catalog entry.","type":"object","properties":{"acquired":{"type":["boolean","null"]},"app_catalog_id":{"type":"string","format":"uuid"},"bookmark_url":{"type":["string","null"]},"created_at":{"type":"string","format":"partial-date-time"},"data":true,"deprecated":{"type":["boolean","null"]},"description":{"type":["string","null"]},"domain_name":{"type":["string","null"]},"keywords":{"type":["string","null"]},"logo_url":{"type":["string","null"]},"name":{"type":"string"},"new_app_name":{"type":["string","null"]},"source":{"type":"string"},"source_id":{"type":["string","null"]},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"acquired":false,"app_catalog_id":"0191b7ce-adf5-767a-a9d8-508a39895e27","bookmark_url":null,"created_at":"2024-09-03T12:14:21.173431","data":{"_id":"615752bf38a67dee924d7a60","displayName":"8x8","keywords":[],"logo":"https://s3.amazonaws.com/static.jumpcloud.com/applications/logos/application-icon-8x8.png","name":"8x8","provision":{"beta":true,"groups_supported":false,"type":"scim:8x8"},"sso":{"beta":false,"hidden":false,"jit":false,"type":"saml"},"status":null},"deprecated":false,"description":null,"domain_name":"8x8.com","keywords":null,"logo_url":"https://s3.amazonaws.com/static.jumpcloud.com/applications/logos/application-icon-8x8.png","name":"8x8","new_app_name":null,"source":"JumpCloud","source_id":"615752bf38a67dee924d7a60","updated_at":"2024-09-03T12:14:21.173431"}],"required":["app_catalog_id","source","name","created_at","updated_at"]},"AppDiscovery":{"description":"A discovered app and its metadata.","type":"object","properties":{"app_discovery_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"partial-date-time"},"downstream_app_name":{"type":"string"},"metadata":true,"org_id":{"type":"string","format":"uuid"},"state":{"type":"string"},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"app_discovery_id":"0191e081-a3a5-7d32-a02d-291e336abd4a","created_at":"2024-09-11T09:54:38.116430","downstream_app_name":"Meetup","metadata":{"dan@shiftcontrol.io":[{"action":"revoke","event_id":"0191d5dd-90cd-7dbb-9ea1-4c06f92e39e2","timestamp":"2024-08-16T22:36:50.483Z"},{"action":"revoke","event_id":"0191d5dd-90ce-7a16-86cd-9af43bcf6dd4","timestamp":"2024-08-16T22:36:50.230Z"},{"action":"authorize","event_id":"0194baa5-4ac5-7f4e-a6dc-8a0347256343","timestamp":"2025-01-06T04:13:55.844Z"}]},"org_id":"3756d031-835e-45f5-a709-82ec7335957f","state":"Dismissed","updated_at":"2025-01-31T04:36:29.466306"}],"required":["app_discovery_id","org_id","downstream_app_name","state","created_at","updated_at"]},"AppleMdm":{"description":"Apple MDM configuration","type":"object","properties":{"ades":{"anyOf":[{"$ref":"#/components/schemas/Ades"},{"type":"null"}]},"allowMobileUserEnrollment":{"type":["boolean","null"]},"apnsCertExpiry":{"type":["string","null"]},"apnsPushTopic":{"description":"Empty topic = no signed Apple certificate provided yet.","type":["string","null"]},"appleCertCreatorAppleID":{"type":["string","null"]},"appleCertSerialNumber":{"type":["string","null"]},"defaultIosUserEnrollmentDeviceGroupID":{"type":["string","null"]},"dep":{"anyOf":[{"$ref":"#/components/schemas/Dep"},{"type":"null"}]},"depServerTokenState":{"type":["string","null"]},"id":{"type":["string","null"]},"name":{"type":["string","null"]},"organization":{"type":["string","null"]},"serviceDiscoveryEnabled":{"type":["boolean","null"]}},"examples":[{"ades":{},"allowMobileUserEnrollment":true,"apnsCertExpiry":"2027-01-01T00:00:00Z","apnsPushTopic":"com.apple.mgmt.External.example","dep":{"enableZeroTouchEnrollment":false},"depServerTokenState":"active","id":"5f0c00000000000000000040","name":"MDM","organization":"5f0c00000000000000000099","serviceDiscoveryEnabled":false}]},"AppleMdmDevice":{"description":"Apple MDM device","type":"object","properties":{"appleMdmId":{"type":["string","null"]},"createdAt":{"type":["string","null"]},"depRegistered":{"type":["boolean","null"]},"deviceInformation":{"anyOf":[{"$ref":"#/components/schemas/AppleMdmDeviceInformation"},{"type":"null"}]},"enrolled":{"type":["boolean","null"]},"hasActivationLockBypassCodes":{"type":["boolean","null"]},"id":{"type":["string","null"]},"lostMode":{"type":["boolean","null"]},"mdmOsFamily":{"type":["string","null"]},"modelFamily":{"type":["string","null"]},"osVersion":{"type":["string","null"]},"securityInfo":{"anyOf":[{"$ref":"#/components/schemas/AppleMdmDeviceSecurityInfo"},{"type":"null"}]},"serialNumber":{"type":["string","null"]},"udid":{"type":["string","null"]}},"examples":[{"appleMdmId":"5f0c00000000000000000040","depRegistered":false,"deviceInformation":{"availableDeviceCapacity":142.0,"deviceCapacity":1995.0,"deviceName":"jdoe-mac","isAppleSilicon":true,"isSupervised":true,"modelMarketingName":"MacBook Air (15-inch, M4, 2025)","modelName":"MacBook Air","modelNumber":"Z1H2EXAMPLE","osBuildVersion":"25G0000","osMarketingName":"macOS 26.6","wifiMac":"00:00:00:00:00:00"},"enrolled":true,"id":"5f0c00000000000000000002","lostMode":false,"mdmOsFamily":"macOS","modelFamily":"Mac","osVersion":"26.6","securityInfo":{"enrolledViaDep":false,"filevaultEnabled":true,"isActivationLockManageable":true,"isUserEnrollment":false,"passcodeCompliant":false,"passcodePresent":true,"recoveryLockEnabled":false,"userApprovedEnrollment":true},"serialNumber":"C02TESTSERIAL","udid":"00000000-0000-0000-0000-000000000000"}]},"AppleMdmDeviceInformation":{"description":"Apple MDM device hardware and OS detail","type":"object","properties":{"activationLockAllowedWhileSupervised":{"type":["boolean","null"]},"availableDeviceCapacity":{"type":["number","null"],"format":"double"},"deviceCapacity":{"type":["number","null"],"format":"double"},"deviceName":{"type":["string","null"]},"iccid":{"type":["string","null"]},"imei":{"type":["string","null"]},"isAppleSilicon":{"type":["boolean","null"]},"isSupervised":{"type":["boolean","null"]},"modelMarketingName":{"type":["string","null"]},"modelName":{"type":["string","null"]},"modelNumber":{"type":["string","null"]},"osBuildVersion":{"type":["string","null"]},"osExtraVersion":{"type":["string","null"]},"osMarketingName":{"type":["string","null"]},"osSupplementalBuildVersion":{"type":["string","null"]},"secondIccid":{"type":["string","null"]},"secondImei":{"type":["string","null"]},"secondSubscriberCarrierNetwork":{"type":["string","null"]},"sofwareUpdateId":{"description":"Spec field name carries this typo upstream (\"sofware\").","type":["string","null"]},"subscriberCarrierNetwork":{"type":["string","null"]},"wifiMac":{"type":["string","null"]}},"examples":[{"availableDeviceCapacity":142.0,"deviceCapacity":1995.0,"deviceName":"jdoe-mac","isAppleSilicon":true,"isSupervised":true,"modelMarketingName":"MacBook Air (15-inch, M4, 2025)","modelName":"MacBook Air","modelNumber":"Z1H2EXAMPLE","osBuildVersion":"25G0000","osMarketingName":"macOS 26.6","wifiMac":"00:00:00:00:00:00"}]},"AppleMdmDeviceSecurityInfo":{"description":"Apple MDM device security posture","type":"object","properties":{"enrolledViaDep":{"type":["boolean","null"]},"filevaultEnabled":{"type":["boolean","null"]},"isActivationLockManageable":{"type":["boolean","null"]},"isUserEnrollment":{"type":["boolean","null"]},"passcodeCompliant":{"type":["boolean","null"]},"passcodePresent":{"type":["boolean","null"]},"recoveryLockEnabled":{"type":["boolean","null"]},"userApprovedEnrollment":{"type":["boolean","null"]}},"examples":[{"enrolledViaDep":false,"filevaultEnabled":true,"isActivationLockManageable":true,"isUserEnrollment":false,"passcodeCompliant":false,"passcodePresent":true,"recoveryLockEnabled":false,"userApprovedEnrollment":true}]},"Application":{"description":"A JumpCloud application.","type":"object","properties":{"_id":{"type":["string","null"]},"active":{"type":["boolean","null"]},"beta":{"type":["boolean","null"]},"catalogItem":{"type":["string","null"]},"color":{"type":["string","null"]},"config":{"anyOf":[{"$ref":"#/components/schemas/ApplicationConfig"},{"type":"null"}]},"created":{"type":["string","null"]},"databaseAttributes":{"type":["array","null"],"items":{"$ref":"#/components/schemas/DatabaseAttribute"}},"description":{"type":["string","null"]},"displayLabel":{"type":["string","null"]},"displayName":{"type":["string","null"]},"isBookmark":{"type":["boolean","null"]},"jit":{"anyOf":[{"$ref":"#/components/schemas/ApplicationJit"},{"type":"null"}]},"learnMore":{"type":["string","null"]},"logo":{"anyOf":[{"$ref":"#/components/schemas/ApplicationLogo"},{"type":"null"}]},"name":{"type":"string"},"organization":{"type":["string","null"]},"provision":{"anyOf":[{"$ref":"#/components/schemas/ApplicationProvision"},{"type":"null"}]},"sso":{"anyOf":[{"$ref":"#/components/schemas/ApplicationSso"},{"type":"null"}]},"ssoUrl":{"type":["string","null"]},"type":{"type":["string","null"]}},"examples":[{"_id":"6526d6d1c7c835b20bf6b7cf","active":true,"beta":false,"color":null,"config":{"acsUrl":{"label":"ACS URL:","position":4,"readOnly":false,"required":true,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"Assertion Consumer Service URL, also referred to as the 'Recipient'."}},"type":"text","value":"https://analytics.amplitude.com/saml/sso/YOUR_ID","visible":true},"idpCertificate":{"label":"IdP Certificate:","position":2,"readOnly":false,"required":true,"type":"file","value":"","visible":true},"idpEntityId":{"label":"IdP Entity ID:","position":0,"readOnly":false,"required":true,"type":"text","value":"JumpCloud","visible":true},"idpPrivateKey":{"label":"IdP Private Key:","position":1,"readOnly":false,"required":true,"type":"file","value":"","visible":true},"spEntityId":{"label":"SP Entity ID:","position":3,"readOnly":false,"required":true,"type":"text","value":"https://amplitude.com/saml/sso/metadata","visible":true}},"databaseAttributes":[{"defaultValue":null,"friendlyName":null,"name":null,"nameFormat":null,"readOnly":null,"required":null,"type":null,"value":null,"valueType":null,"visible":null}],"displayName":"Amplitude","isBookmark":false,"learnMore":"https://support.jumpcloud.com/support/s/article/connecting-applications-with-jumpcloud-using-pre-built-connectors","logo":{"url":"https://s3.amazonaws.com/static.jumpcloud.com/applications/logos/application-icon-amplitude.png"},"name":"amplitude","provision":{"groups_enabled":false,"groups_supported":true,"type":"scim:amplitude"},"sso":{"active":true,"beta":false,"certExpired":false,"hidden":false,"jit":{"enabled":true,"supported":true},"type":"saml"},"ssoUrl":"https://sso.jumpcloud.com/saml2/amplitude","type":"saml"}],"required":["name"]},"ApplicationConfig":{"type":"object","properties":{"acsUrl":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"attributes":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"constantAttributes":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"databaseAttributes":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"declareRedirectEndpoint":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"defaultTargetUrl":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"groupsAttributeName":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"idpCertificate":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"idpEntityId":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"idpInitUrl":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"idpPrivateKey":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"includeGroups":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"overrideNameIdFormat":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"signAssertion":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"signResponse":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"signatureAlgorithm":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"spCertificate":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"spEntityId":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"spErrorFlow":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]},"subjectField":{"anyOf":[{"$ref":"#/components/schemas/ConfigField"},{"type":"null"}]}}},"ApplicationDataTransfer":{"description":"Per-application data transfer details within a DataTransfer resource.","type":"object","properties":{"applicationId":{"description":"The application's ID (int64 format as string).","type":"string"},"applicationTransferParams":{"description":"The transfer parameters for this application, used to select which categories of data to transfer.","type":["array","null"],"items":{"$ref":"#/components/schemas/ApplicationTransferParam"}},"applicationTransferStatus":{"description":"Read-only. The current status of the transfer for this application, e.g. completed, failed, pending.","type":["string","null"]}},"examples":[{"applicationId":"55656082996","applicationTransferParams":[{"key":"PRIVACY_LEVEL","value":["SHARED","PRIVATE"]}],"applicationTransferStatus":"completed"}],"required":["applicationId"]},"ApplicationInfo":{"description":"Information about the application that performed the action.","type":"object","properties":{"applicationName":{"description":"The name of the application.","type":["string","null"]},"impersonation":{"description":"Whether the application is impersonating a user.","type":["boolean","null"]},"oauthClientId":{"description":"The OAuth client ID of the application.","type":["string","null"]}}},"ApplicationJit":{"type":"object","properties":{"attributes":{"type":["array","null"],"items":{"$ref":"#/components/schemas/JitAttribute"}},"createOnly":{"type":"boolean"}},"required":["createOnly"]},"ApplicationLogo":{"type":"object","properties":{"color":{"type":["string","null"]},"url":{"type":["string","null"]}},"examples":[{"color":"#000000","url":"https://example.com/logo.png"}]},"ApplicationProvision":{"type":"object","properties":{"_id":{"type":["string","null"]},"export_disabled":{"type":["boolean","null"]},"groups_enabled":{"type":["boolean","null"]},"groups_supported":{"type":["boolean","null"]},"import_disabled":{"type":["boolean","null"]},"type":{"type":["string","null"]}}},"ApplicationSso":{"type":"object","properties":{"active":{"type":["boolean","null"]},"beta":{"type":["boolean","null"]},"certExpired":{"type":["boolean","null"]},"hidden":{"type":["boolean","null"]},"idpCertExpirationAt":{"type":["string","null"]},"idpCertificateUpdatedAt":{"type":["string","null"]},"idpPrivateKeyUpdatedAt":{"type":["string","null"]},"jit":{"anyOf":[{"$ref":"#/components/schemas/Jit"},{"type":"null"}]},"oidc":{"anyOf":[{"$ref":"#/components/schemas/Oidc"},{"type":"null"}]},"spCertificateUpdatedAt":{"type":["string","null"]},"type":{"type":["string","null"]},"url":{"type":["string","null"]}},"examples":[{"hidden":false,"oidc":{"clientId":"5d00d49b-24ae-493a-a0c3-9f468e88b5c6","consent":"trusted","dynamicClaims":[],"grantTypes":["authorization_code"],"metadata":{},"redirectUris":["https://example.com/callbackuri"],"relyingPartyUrl":"https://example.com","staticClaims":[],"tokenEndpointAuthMethod":"client_secret_post"},"type":"oidc"}]},"ApplicationSsoJit":{"type":"object","properties":{"enabled":{"type":["boolean","null"]},"supported":{"type":["boolean","null"]}}},"ApplicationTemplate":{"description":"A JumpCloud application template.","type":"object","properties":{"_id":{"type":["string","null"]},"active":{"type":["boolean","null"]},"beta":{"type":["boolean","null"]},"color":{"type":["string","null"]},"config":{"anyOf":[{"$ref":"#/components/schemas/ApplicationConfig"},{"type":"null"}]},"databaseAttributes":{"type":["array","null"],"items":{"$ref":"#/components/schemas/DatabaseAttribute"}},"displayLabel":{"type":["string","null"]},"displayName":{"type":["string","null"]},"isBookmark":{"type":["boolean","null"]},"isConfigured":{"type":["boolean","null"]},"jit":{"anyOf":[{"$ref":"#/components/schemas/ApplicationJit"},{"type":"null"}]},"keywords":{"type":["array","null"],"items":{"type":"string"}},"learnMore":{"type":["string","null"]},"logo":{"anyOf":[{"$ref":"#/components/schemas/ApplicationLogo"},{"type":"null"}]},"name":{"type":["string","null"]},"oidc":true,"provision":{"anyOf":[{"$ref":"#/components/schemas/ApplicationProvision"},{"type":"null"}]},"sso":{"anyOf":[{"$ref":"#/components/schemas/ApplicationSso"},{"type":"null"}]},"ssoUrl":{"type":["string","null"]},"status":{"type":["string","null"]},"test":{"type":["string","null"]},"type":{"type":["string","null"]}},"examples":[{"_id":"6526d6d1c7c835b20bf6b7cf","active":true,"beta":false,"color":null,"config":{"acsUrl":{"label":"ACS URL:","position":4,"readOnly":false,"required":true,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"Assertion Consumer Service URL, also referred to as the 'Recipient'."}},"type":"text","value":"https://analytics.amplitude.com/saml/sso/YOUR_ID","visible":true},"idpCertificate":{"label":"IdP Certificate:","position":2,"readOnly":false,"required":true,"type":"file","value":"","visible":true},"idpEntityId":{"label":"IdP Entity ID:","position":0,"readOnly":false,"required":true,"type":"text","value":"JumpCloud","visible":true},"idpPrivateKey":{"label":"IdP Private Key:","position":1,"readOnly":false,"required":true,"type":"file","value":"","visible":true},"spEntityId":{"label":"SP Entity ID:","position":3,"readOnly":false,"required":true,"type":"text","value":"https://amplitude.com/saml/sso/metadata","visible":true}},"databaseAttributes":[{"defaultValue":null,"friendlyName":null,"name":null,"nameFormat":null,"readOnly":null,"required":null,"type":null,"value":null,"valueType":null,"visible":null}],"displayName":"Amplitude","isBookmark":false,"learnMore":"https://support.jumpcloud.com/support/s/article/connecting-applications-with-jumpcloud-using-pre-built-connectors","logo":{"url":"https://s3.amazonaws.com/static.jumpcloud.com/applications/logos/application-icon-amplitude.png"},"name":"amplitude","provision":{"groups_enabled":false,"groups_supported":true,"type":"scim:amplitude"},"sso":{"active":true,"beta":false,"certExpired":false,"hidden":false,"jit":{"enabled":true,"supported":true},"type":"saml"},"ssoUrl":"https://sso.jumpcloud.com/saml2/amplitude","type":"saml"}]},"ApplicationTransferParam":{"description":"A key-value parameter controlling application-specific data transfer behavior.","type":"object","properties":{"key":{"description":"The type of the transfer parameter, e.g. PRIVACY_LEVEL or RELEASE_RESOURCES.","type":"string"},"value":{"description":"The value of the parameter, e.g. [\"SHARED\", \"PRIVATE\"].","type":"array","items":{"type":"string"}}},"examples":[{"key":"PRIVACY_LEVEL","value":["SHARED","PRIVATE"]}],"required":["key","value"]},"ApplicationUsersCountMap":{"description":"Map of application IDs to user counts","type":"object","additionalProperties":{"type":"integer","format":"int64"},"examples":[{"665970c1b986ab3a69ccda1d":5,"66597a88b986ab3a69d15376":37,"665bf39d71ebc600018195a4":150,"666a96251292ff856bf7cba7":25,"667b58c864896865aedf0e1f":42}]},"ApplicationUsersMap":{"description":"Map of application IDs to users","type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/GraphObjectWithPaths"}},"examples":[{"665970c1b986ab3a69ccda1d":[{"compiledAttributes":{"ldapGroups":[{"name":"ShiftControl [App Assignment]"},{"name":"All Users"}]},"id":"665970bc72c298d6cafc59bf","paths":[[{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"All Users"}]},"id":"665970b72c529d00012e51ca","type":"userGroup"}},{"attributes":null,"to":{"id":"665970bc72c298d6cafc59bf","type":"user"}}]],"type":"user"}],"667b58c864896865aedf0e1f":[{"compiledAttributes":{"ldapGroups":[{"name":"Core Team"}]},"id":"66597a88b986ab3a69d15376","paths":[[{"attributes":null,"to":{"attributes":{"ldapGroups":[{"name":"Core Team"}]},"id":"665bf39d71ebc600018195a4","type":"userGroup"}},{"attributes":null,"to":{"id":"66597a88b986ab3a69d15376","type":"user"}}]],"type":"user"}]}]},"ApprovalBlock":{"description":"The approval status of a work item: its overall state, who can decide the current step, the eventual owner, and whether you may decide it now.","type":"object","properties":{"can_decide":{"description":"Whether the person making this request may decide the current step right now. True only while the approval is awaiting a decision and the requester is an approver of the current step or holds the work-item approval permission.","type":"boolean"},"current_stage_approvers":{"description":"The people who may decide the step currently awaiting a decision. Empty once the approval is fully approved or rejected.","type":"array","items":{"$ref":"#/components/schemas/ApproverSnapshot"}},"current_stage_position":{"description":"Position of the step currently awaiting a decision, starting at 0. Absent once the approval is fully approved or rejected.","type":["integer","null"],"format":"int32"},"state":{"description":"Overall approval state: PENDING while awaiting decisions, APPROVED once fully approved, or REJECTED if denied.","type":"string"},"ultimate_assignee":{"description":"The owner this work item is handed off to once it is fully approved.","allOf":[{"$ref":"#/components/schemas/ApproverSnapshot"}]}},"examples":[{"can_decide":false,"current_stage_approvers":[{"email":"manager@acme.com","name":"The Manager","user_id":null}],"current_stage_position":0,"state":"PENDING","ultimate_assignee":{"email":"owner@acme.com","name":"App Owner","user_id":null}}],"required":["state","current_stage_approvers","ultimate_assignee","can_decide"]},"ApproveRequest":{"description":"Body for approving a work item. Approves the current stage of the work item's approval flow.","type":"object","properties":{"expected_stage_position":{"description":"Optional: the stage you expect to be currently awaiting a decision. When provided and the work item has already moved past it, the approval is rejected so two approvers acting at once can't decide stale state. Omit it to approve whatever stage is currently awaiting a decision.","type":["integer","null"],"format":"int32","default":null}}},"ApproverSnapshot":{"description":"A snapshot of a person on a work item's approval: an approver who can decide a stage, or the owner the item is handed to once approved.","type":"object","properties":{"email":{"description":"Email address of this person.","type":"string"},"name":{"description":"Display name of this person.","type":"string"},"user_id":{"description":"ID of this person, when they are a known user in your organization. Absent when only an email and name were captured.","type":["string","null"],"format":"uuid"}},"examples":[{"email":"manager@acme.com","name":"The Manager","user_id":null}],"required":["email","name"]},"AssigneeType":{"description":"The type of identity to which a role is assigned.","oneOf":[{"description":"An individual user within the domain.","type":"string","const":"user"},{"description":"A group within the domain.","type":"string","const":"group"}]},"Attributes":{"type":"object","properties":{"id":{"type":["string","null"]},"name":{"type":["string","null"]},"tempId":{"type":["string","null"]},"value":{"type":["string","null"]}}},"AuthType":{"description":"Enum representing the different types of authentication","type":"string","enum":["secrets_entry","custom_entry"]},"BatchResolveGroupMembersRequest":{"description":"Request to resolve members for multiple composite groups in a single call","type":"object","properties":{"composite_group_ids":{"description":"List of composite group UUIDs to resolve members for (max 100)","type":"array","items":{"type":"string","format":"uuid"}}},"required":["composite_group_ids"]},"BatchResolveGroupMembersResponse":{"description":"Resolved members for multiple groups, keyed by composite_group_id","type":"object","properties":{"groups":{"description":"Map of composite_group_id to resolved members","type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/ResolvedGroupMember"}}}},"required":["groups"]},"BatterySignal":{"description":"Battery health for laptops. Based on the device's own battery condition indicator (e.g. macOS \"Battery Condition: Normal\") when reported, otherwise on remaining capacity versus the original design capacity. Desktops and devices that don't report a battery are unknown.","type":"object","properties":{"cycleCount":{"description":"Number of charge cycles the battery has been through.","type":["integer","null"],"format":"int64"},"healthPercent":{"description":"Raw maximum capacity as a percentage of the battery's original design capacity (full charge ÷ design). Shown for context; it can read several points lower than the smoothed \"Maximum Capacity\" macOS displays, so it does not drive the health status.","type":["integer","null"],"format":"int64"},"status":{"$ref":"#/components/schemas/HealthStatus"}},"required":["status"]},"BuiltInCommand":{"description":"Built-in command capability","type":"object","properties":{"name":{"type":["string","null"]},"type":{"type":["string","null"]}},"examples":[{"name":"lock","type":"security"}]},"BuiltinCommandResponse":{"description":"Queued built-in device command reference","type":"object","properties":{"queueId":{"type":"string"}},"required":["queueId"]},"BulkApplyTemplateRequest":{"description":"Request to apply a group settings template to multiple groups at once","type":"object","properties":{"group_ids":{"description":"List of composite group UUIDs to apply the template to","type":"array","items":{"type":"string","format":"uuid"}},"template_id":{"description":"Template identifier. Must be one of: standard, internal, restricted, teamManaged","type":"string"}},"required":["group_ids","template_id"]},"BulkApplyTemplateResponse":{"description":"Response containing per-group results of a bulk template application","type":"object","properties":{"results":{"description":"List of per-group results indicating success or failure","type":"array","items":{"$ref":"#/components/schemas/BulkApplyTemplateResult"}}},"required":["results"]},"BulkApplyTemplateResult":{"description":"Result of applying a template to a single group","type":"object","properties":{"error":{"description":"Error message if the operation failed, absent on success","type":["string","null"]},"group_id":{"description":"The composite group UUID this result corresponds to","type":"string","format":"uuid"},"status":{"description":"Outcome of the operation: 'success', 'failed', or 'skipped' (reserved groups whose settings cannot be modified)","type":"string"}},"examples":[{"group_id":"00000000-0000-0000-0000-000000000000","status":"success"}],"required":["group_id","status"]},"BulkArchiveItemResult":{"description":"Result of archiving a single app in a bulk archive request.","type":"object","properties":{"app_id":{"description":"The app ID that was processed.","type":"string","format":"uuid"},"error":{"description":"Error message if the archive failed, null on success.","type":["string","null"]},"status":{"description":"The outcome: 'archived' on success, 'failed' on error.","type":"string"}},"required":["app_id","status"]},"BulkArchiveRequest":{"description":"Request body for bulk archiving apps.","type":"object","properties":{"app_ids":{"description":"List of app IDs to archive.","type":"array","items":{"type":"string","format":"uuid"}}},"required":["app_ids"]},"BulkArchiveResult":{"description":"Result of a bulk archive operation containing per-app outcomes.","type":"object","properties":{"results":{"description":"Per-app results of the bulk archive operation.","type":"array","items":{"$ref":"#/components/schemas/BulkArchiveItemResult"}}},"required":["results"]},"CardDesignLockEnum":{"type":"string"},"CardLayoutEnum":{"type":"string"},"CardOffboardingDefaultEnum":{"type":"string"},"CardOffboardingStateEnum":{"type":"string"},"CardPublishStateEnum":{"type":"string"},"Claim":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]},"ClaimValue":{"anyOf":[{"type":"string"},{"type":"boolean"}]},"Command":{"description":"JumpCloud Command","type":"object","properties":{"_id":{"description":"v1 responses carry both `_id` and `id` with the same value.","type":["string","null"]},"aiGenerated":{"type":["boolean","null"]},"command":{"type":["string","null"]},"commandRunners":{"description":"An array of IDs of the Command Runner Users that can execute this command.","type":["array","null"],"items":{"type":"string"}},"commandType":{"type":["string","null"]},"description":{"type":["string","null"]},"files":{"type":["array","null"],"items":{"type":"string"}},"filesS3":{"type":["array","null"],"items":{"$ref":"#/components/schemas/FilesS3"}},"id":{"type":["string","null"]},"launchType":{"type":["string","null"]},"listensTo":{"type":["string","null"]},"name":{"type":["string","null"]},"organization":{"type":["string","null"]},"schedule":{"description":"Crontab `[ (seconds) (minutes) (hours) (dom) (months) (weekdays) ]` or `immediate`.","type":["string","null"]},"scheduleRepeatType":{"type":["string","null"]},"scheduleYear":{"type":["integer","null"],"format":"int64"},"shell":{"type":["string","null"]},"shutdownAfterRun":{"type":["boolean","null"]},"sudo":{"type":["boolean","null"]},"systems":{"description":"Not used by JumpCloud; bind via v2 command associations instead.","type":["array","null"],"items":{"type":"string"}},"template":{"type":["string","null"]},"templateID":true,"templatingRequired":{"type":["boolean","null"]},"timeToLiveSeconds":{"description":"Seconds a command can wait in the queue before timing out.","type":["integer","null"],"format":"int64"},"timeout":{"description":"Seconds the command may run (spec: string; null observed live).","type":["string","null"]},"trigger":{"type":["string","null"]},"user":{"description":"The ID of the system user to run the command as (required for mac/linux).","type":["string","null"]}},"examples":[{"_id":"5f0c00000000000000000010","aiGenerated":false,"command":"tail -c 1024 /var/log/jcagent.log","commandType":"mac","id":"5f0c00000000000000000010","launchType":"manual","listensTo":"","name":"Get agent logs","organization":"5f0c00000000000000000099","schedule":"immediate","scheduleRepeatType":"day","templatingRequired":false,"trigger":""}]},"CommandResult":{"description":"Command execution result","type":"object","properties":{"_id":{"type":["string","null"]},"command":{"type":["string","null"]},"files":{"type":["array","null"],"items":{"type":"string"}},"id":{"type":["string","null"]},"name":{"type":["string","null"]},"organization":{"type":["string","null"]},"requestTime":{"type":["string","null"]},"response":{"anyOf":[{"$ref":"#/components/schemas/CommandResultResponse"},{"type":"null"}]},"responseTime":{"type":["string","null"]},"sudo":{"type":["boolean","null"]},"system":{"description":"The name of the system the command was executed on.","type":["string","null"]},"systemId":{"description":"The id of the system the command was executed on.","type":["string","null"]},"user":{"type":["string","null"]},"workflowId":{"type":["string","null"]},"workflowInstanceId":{"type":["string","null"]}},"examples":[{"_id":"5f0c00000000000000000020","command":"tail -c 1024 /var/log/jcagent.log","files":[],"name":"Get agent logs","organization":"5f0c00000000000000000099","requestTime":"2026-06-10T03:37:47.944Z","response":{"data":{"exitCode":0,"output":"command output here"},"error":"","id":"5f0c00000000000000000023"},"responseTime":"2026-06-10T03:37:48.547Z","sudo":false,"system":"5f0c00000000000000000001","user":"root","workflowId":"5f0c00000000000000000021","workflowInstanceId":"5f0c00000000000000000022"}]},"CommandResultData":{"description":"Command result output data","type":"object","properties":{"exitCode":{"type":["integer","null"],"format":"int64"},"output":{"type":["string","null"]}},"examples":[{"exitCode":0,"output":"command output here"}]},"CommandResultResponse":{"description":"Command result response","type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/CommandResultData"},{"type":"null"}]},"error":{"description":"The stderr output from the command that ran.","type":["string","null"]},"id":{"type":["string","null"]}},"examples":[{"data":{"exitCode":0,"output":"command output here"},"error":"","id":"5f0c00000000000000000023"}]},"CompositeGroup":{"description":"A group.","type":"object","properties":{"composite_group_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"partial-date-time"},"description":{"type":["string","null"]},"detected_template_id":{"type":["string","null"]},"directory_id":{"type":"string","format":"uuid"},"dynamic_rules":true,"email":{"type":["string","null"]},"external_id":{"type":["string","null"]},"feeder_external_id":{"type":["string","null"]},"group_name":{"type":"string"},"group_org_tag_id":{"type":["string","null"],"format":"uuid"},"include_in_global_address_list":{"type":["boolean","null"]},"is_parent":{"type":"boolean"},"jc_cloud_directory_id":{"type":["string","null"]},"nested_groups":true,"org_id":{"type":"string","format":"uuid"},"secondary_directory_id":{"type":["string","null"],"format":"uuid"},"updated_at":{"type":"string","format":"partial-date-time"},"visibility":{"type":"string"}},"examples":[{"composite_group_id":"0194d00b-75c5-7931-b02e-cf75ba09850a","created_at":"2025-02-04T08:19:59.567578","description":"All users in Singapore.","detected_template_id":null,"directory_id":"3756d031-835e-45f5-a709-82ec7335957f","dynamic_rules":[{"attribute":"location","operator":"equals","value":[{"item":"Singapore"}]}],"email":"all-singapore@example.com","external_id":"67a1cdaf3a6f8b0001e46aea","feeder_external_id":null,"group_name":"All Singapore Users","group_org_tag_id":"422b5755-1214-4781-a3cb-6795d1340728","include_in_global_address_list":null,"is_parent":false,"jc_cloud_directory_id":"67202f6d70ab5d0001349b44","nested_groups":[],"org_id":"3756d031-835e-45f5-a709-82ec7335957f","secondary_directory_id":null,"updated_at":"2025-02-04T08:19:59.985391","visibility":"Groups"}],"required":["composite_group_id","org_id","group_name","visibility","created_at","updated_at","is_parent","directory_id"]},"CompositeGroupWithStatuses":{"description":"A composite group response that includes optional status fields for Google extension operations.","type":"object","properties":{"alias_status":{"anyOf":[{"$ref":"#/components/schemas/OperationStatus"},{"type":"null"}]},"composite_group_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"partial-date-time"},"description":{"type":["string","null"]},"detected_template_id":{"type":["string","null"]},"directory_id":{"type":"string","format":"uuid"},"directory_users":{"description":"Directory-aware user assignments. Each entry pairs a user_id with its directory_id.","type":["array","null"],"items":{"$ref":"#/components/schemas/DirectoryUserAssignment"}},"dynamic_rules":true,"email":{"type":["string","null"]},"external_id":{"type":["string","null"]},"external_members":{"type":["array","null"],"items":{"type":"string"}},"external_members_status":{"anyOf":[{"$ref":"#/components/schemas/OperationStatus"},{"type":"null"}]},"feeder_external_id":{"type":["string","null"]},"group_name":{"type":"string"},"group_org_tag_id":{"type":["string","null"],"format":"uuid"},"include_in_global_address_list":{"type":["boolean","null"]},"is_parent":{"type":"boolean"},"jc_cloud_directory_id":{"type":["string","null"]},"jumpcloud_reconciliation_status":{"description":"ENG-392: post-write JumpCloud reconciliation outcome.\n\nPopulated by `create_group` and `update_group` for groups that have\na JumpCloud composite. After the JumpCloud + Google API POSTs land\n(these are honored regardless), the helper\n`fetch_and_reconcile_jumpcloud_group` runs once. If the live read\nis `Authoritative` or `Gone`, `success=true`. If `Degraded`,\n`success=false` and `errors` carries a UI-renderable message —\nthe writes are still committed, but the mirror's post-write\nJumpCloud reconciliation is deferred to the next sync cycle.","anyOf":[{"$ref":"#/components/schemas/OperationStatus"},{"type":"null"}]},"nested_groups":true,"org_id":{"type":"string","format":"uuid"},"secondary_directory_id":{"type":["string","null"],"format":"uuid"},"settings_status":{"anyOf":[{"$ref":"#/components/schemas/OperationStatus"},{"type":"null"}]},"updated_at":{"type":"string","format":"partial-date-time"},"visibility":{"type":"string"}},"examples":[{"composite_group_id":"0194d00b-75c5-7931-b02e-cf75ba09850a","created_at":"2025-02-04T08:19:59.567578","description":"All users in Singapore.","detected_template_id":null,"directory_id":"3756d031-835e-45f5-a709-82ec7335957f","directory_users":null,"dynamic_rules":[{"attribute":"location","operator":"equals","value":[{"item":"Singapore"}]}],"email":"all-singapore@example.com","external_id":"67a1cdaf3a6f8b0001e46aea","external_members":null,"feeder_external_id":null,"group_name":"All Singapore Users","group_org_tag_id":"422b5755-1214-4781-a3cb-6795d1340728","include_in_global_address_list":null,"is_parent":false,"jc_cloud_directory_id":"67202f6d70ab5d0001349b44","nested_groups":[],"org_id":"3756d031-835e-45f5-a709-82ec7335957f","secondary_directory_id":null,"updated_at":"2025-02-04T08:19:59.985391","visibility":"Groups"}],"required":["composite_group_id","org_id","group_name","visibility","created_at","updated_at","is_parent","directory_id"]},"ConfigField":{"type":"object","properties":{"dependsOnProperty":{"type":["string","null"]},"label":{"type":["string","null"]},"mutable":{"type":["boolean","null"]},"options":{"type":["array","null"],"items":{"$ref":"#/components/schemas/SelectOption"}},"position":{"type":["integer","null"],"format":"int64"},"readOnly":{"type":["boolean","null"]},"required":{"type":["boolean","null"]},"tooltip":{"anyOf":[{"$ref":"#/components/schemas/Tooltip"},{"type":"null"}]},"type":{"type":["string","null"]},"value":{"anyOf":[{"$ref":"#/components/schemas/ConfigValue"},{"type":"null"}]},"visible":{"type":["boolean","null"]}}},"ConfigValue":{"anyOf":[{"type":"string"},true,{"type":"boolean"}]},"CreateAccessRequest":{"description":"Body for `POST /v2/accessrequests` — grants a user time-bound access to a\nresource (a device, here). `requestor_id` is the user receiving access;\n`expiry` is an ISO-8601 timestamp; `operation_id` is a caller-generated\nidempotency UUID; `additional_attributes` carries the sudo elevation to\ngrant for the window.","type":"object","properties":{"additionalAttributes":{"anyOf":[{"$ref":"#/components/schemas/AccessRequestAttributes"},{"type":"null"}]},"expiry":{"description":"ISO-8601 expiry timestamp.","type":"string"},"operationId":{"type":["string","null"]},"remarks":{"type":["string","null"]},"requestorId":{"type":"string"},"resourceId":{"type":"string"},"resourceType":{"description":"Resource kind, e.g. `\"device\"`.","type":"string"}},"required":["requestorId","resourceId","resourceType","expiry"]},"CreateAccessRequestResponse":{"description":"Response from `POST /v2/accessrequests`: the created access id (a UUID\nstring used as the `{id}` path segment on subsequent get/update/revoke).","type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"CreateAdministratorRequest":{"description":"Create Administrator Request","type":"object","properties":{"_id":{"type":"string"},"administratorOrganizations":{"type":"array","items":{"type":"string"}},"apiKeyAllowed":{"type":"boolean"},"email":{"type":"string"},"enableMultiFactor":{"type":"boolean"},"firstname":{"type":"string"},"lastname":{"type":"string"},"registered":{"type":"boolean"},"role":{"type":"string"},"roleName":{"type":"string"},"suspended":{"type":"boolean"}},"examples":[{"_id":"660c9bbeaf7d18e969221223","administratorOrganizations":["660c9bbeef7d18e969865291"],"apiKeyAllowed":true,"email":"user@example.com","enableMultiFactor":true,"firstname":"John","lastname":"Doe","registered":true,"role":"53d133c93e45a58b60be47ea","roleName":"Administrator","suspended":false}],"required":["_id","apiKeyAllowed","email","enableMultiFactor","firstname","lastname","administratorOrganizations","registered","role","suspended","roleName"]},"CreateApiKeyResponse":{"type":"object","properties":{"api_key_id":{"type":"string"},"api_key_token":{"type":"string"}},"required":["api_key_id","api_key_token"]},"CreateApp":{"description":"A new app to be created.","type":"object","properties":{"app_catalog_id":{"type":["string","null"],"format":"uuid"},"app_name":{"type":"string"},"billing_frequency":{"type":["string","null"]},"bookmark_url":{"description":"Launch URL for the app in the employee portal. Derived from JumpCloud SSO config or set manually.","type":["string","null"]},"budget_owner":{"description":"A reference to the budget owner user within a specific directory.","anyOf":[{"$ref":"#/components/schemas/UserReference"},{"type":"null"}]},"composite_group_id":{"type":["string","null"],"format":"uuid"},"contract_end_date":{"type":["string","null"],"format":"partial-date-time"},"contract_term_number":{"type":["integer","null"],"format":"int32"},"contract_term_period":{"type":["string","null"]},"cost":{"type":["string","number","null"],"pattern":"^-?\\d+(\\.\\d+)?([eE]\\d+)?$"},"cost_currency":{"type":["string","null"]},"cost_structure":{"type":["string","null"]},"description":{"type":["string","null"]},"external_id":{"description":"The ID of the app in the IdP (e.g., JumpCloud). Null for Google-only apps.","type":["string","null"]},"logo_url":{"description":"Direct URL to the app's logo image (logo.dev, S3/CloudFront, or any HTTPS URL).","type":["string","null"]},"notes":{"type":["string","null"]},"org_id":{"type":"string","format":"uuid"},"owning_dept_id":{"description":"Uses the department_id.","type":["string","null"],"format":"uuid"},"platform_fee":{"type":["string","number","null"],"pattern":"^-?\\d+(\\.\\d+)?([eE]\\d+)?$"},"primary_admin":{"description":"A reference to the primary admin user within a specific directory.","anyOf":[{"$ref":"#/components/schemas/UserReference"},{"type":"null"}]},"renewal_grace_period":{"type":["integer","null"],"format":"int32"}},"examples":[{"app_catalog_id":"01922310-fcf1-7776-849f-808d205490de","app_name":"Notion","billing_frequency":"month","bookmark_url":"https://example.com","budget_owner":null,"composite_group_id":"019223a6-3ed0-72cb-a2fc-78ebe61630c8","contract_end_date":"2025-03-15T00:00:00","contract_term_number":12,"contract_term_period":"month","cost":"100","cost_currency":"USD","cost_structure":"user","description":"Team wiki and documentation","external_id":"666a96251292ff856bf7cba7","logo_url":"https://img.logo.dev/example.com","notes":"Notion subscription notes","org_id":"3756d031-835e-45f5-a709-82ec7335957f","owning_dept_id":"01927461-a7f4-7fd1-98df-f4ee835678c1","platform_fee":"300","primary_admin":null,"renewal_grace_period":14}],"required":["app_name","org_id"]},"CreateAppPayload":{"description":"Payload for creating a new app. Supports both JumpCloud-enabled and Google-only orgs.","type":"object","properties":{"app":{"description":"ShiftControl App Data","allOf":[{"$ref":"#/components/schemas/CreateApp"}]},"appAssignments":{"description":"Users and groups assigned to the app","allOf":[{"$ref":"#/components/schemas/AppAssignments"}]},"jumpCloudApp":{"description":"JumpCloud App Data. Required for JC-enabled orgs, None for Google-only orgs. See the JumpCloud API documentation at https://docs.jumpcloud.com/api/2.0/index.html#tag/Applications for more information.","anyOf":[{"$ref":"#/components/schemas/Application"},{"type":"null"}]}},"examples":[{"app":{"app_catalog_id":null,"app_name":"Test App","billing_frequency":"month","bookmark_url":"https://example.com","budget_owner":null,"composite_group_id":null,"contract_end_date":"2025-03-15T00:00:00","contract_term_number":12,"contract_term_period":"month","cost":"100","cost_currency":"USD","cost_structure":"user","description":"A test app","external_id":"","logo_url":"https://img.logo.dev/example.com","notes":"Test App Notes","org_id":"3756d031-835e-45f5-a709-82ec7335957f","owning_dept_id":"01927461-a7f4-7fd1-98df-f4ee835678c1","platform_fee":"300","primary_admin":null,"renewal_grace_period":14},"appAssignments":{"nested_groups":["0192db76-829b-7c66-8782-0eda29f7ed2e"],"users":["665975c3cc8cee1a6abedfaa"]},"jumpCloudApp":{"active":true,"beta":false,"color":null,"config":{"acsUrl":{"label":"ACS URL:","position":4,"required":true,"type":"text","value":"[{\"url\":\"https://testapp.com/acs\"}]","visible":true},"defaultTargetUrl":{"label":"Default RelayState:","position":3,"required":true,"type":"text","value":"https://example.com","visible":true},"idpEntityId":{"label":"IdP Entity ID:","position":0,"required":true,"type":"text","value":"testApp","visible":true},"idpInitUrl":{"label":"Login URL:","position":15,"required":false,"type":"text","value":"https://testapp.com","visible":true},"signAssertion":{"label":"Sign Assertion","position":13,"required":false,"type":"bool","value":false,"visible":true},"signResponse":{"label":"Sign Response","position":13,"required":false,"type":"bool","value":true,"visible":true},"spEntityId":{"label":"SP Entity ID:","position":3,"required":true,"type":"text","value":"testAppSP","visible":true}},"description":"A test app","displayLabel":"Test App","displayName":"Test App","isBookmark":false,"logo":{"url":"https://s3.amazonaws.com/static.jumpcloud.com/applications/logos/application-icon-saml2.png"},"name":"saml2","sso":{"beta":false,"hidden":false,"jit":false,"type":"saml"},"ssoUrl":"https://sso.jumpcloud.com/saml2/testapp","type":"application"}}],"required":["app","appAssignments"]},"CreateCustomField":{"description":"Create a custom field.","type":"object","properties":{"default_value":{"type":["string","null"]},"description":{"type":["string","null"]},"field_type":{"type":"string"},"is_required":{"type":"boolean"},"is_system":{"type":"boolean"},"name":{"type":"string"},"ui_hint":{"type":["string","null"]},"ui_order":{"type":["integer","null"],"format":"int32"},"ui_section":{"type":["string","null"]},"validation_rules":true},"examples":[{"default_value":"blue","description":"The user's favorite color, shown in their profile.","field_type":"select","is_required":false,"is_system":false,"name":"Favorite Color","ui_hint":"chips","ui_order":1,"ui_section":"Personal Info","validation_rules":{"options":["red","blue","green"]}}],"required":["name","field_type","is_required","is_system"]},"CreateDepartment":{"description":"A new department to be created.","type":"object","properties":{"department_name":{"type":"string"}},"examples":[{"department_name":"People & Culture"}],"required":["department_name"]},"CreateDirectory":{"description":"Create a directory.","type":"object","properties":{"directory_name":{"type":"string"},"external_id":{"type":["string","null"]},"integration_id":{"type":["string","null"],"format":"uuid"},"is_primary":{"type":"boolean"},"last_checked_at":{"type":["string","null"],"format":"partial-date-time"},"metadata":true,"org_id":{"type":"string","format":"uuid"}},"examples":[{"directory_name":"Google","external_id":"1029fc84ae634f7fdbaab3e8","integration_id":"3756d031-835e-45f5-a709-82ec7335957f","is_primary":true,"last_checked_at":"2024-10-08T09:16:13.951358","metadata":null,"org_id":"3756d031-835e-45f5-a709-82ec7335957f"}],"required":["org_id","directory_name","is_primary"]},"CreateDomain":{"description":"CreateDomain object","type":"object","properties":{"domainName":{"description":"The domain name of the customer.","type":"string"}},"examples":[{"domainName":"example.com"}],"required":["domainName"]},"CreateGroupAlias":{"description":"Resource: CreateGroupAlias\nThe Directory API manages aliases, which are alternative email addresses.","type":"object","properties":{"alias":{"description":"The alias email address.","type":"string"}},"required":["alias"]},"CreateGroupTag":{"description":"Payload to create an organization-scoped group tag.","type":"object","properties":{"color_hex":{"type":["string","null"]},"description":{"type":["string","null"]},"global_tag_id":{"type":["string","null"],"format":"uuid"},"name":{"type":"string"},"org_id":{"type":"string","format":"uuid"},"purpose_id":{"type":"string","format":"uuid"}},"examples":[{"color_hex":"#008236","description":"Official departments and teams within the org","global_tag_id":"11111111-1111-4111-8111-111111111111","name":"Department","org_id":"3756d031-835e-45f5-a709-82ec7335957f","purpose_id":"d6c2e4b0-4e0a-4d3e-9d2a-3f2e0b3d5a10"}],"required":["org_id","purpose_id","name"]},"CreateIntegration":{"description":"Create an integration.","type":"object","properties":{"app_id":{"type":["string","null"],"format":"uuid"},"auth_provider":{"type":["string","null"]},"auth_status":{"type":"boolean"},"catalog_id":{"type":["string","null"],"format":"uuid"},"config":true,"delegation_requested_at":{"type":["string","null"],"format":"partial-date-time"},"delegation_requested_by":{"type":["string","null"],"format":"uuid"},"delegation_status":{"type":["string","null"]},"integration_health":{"type":["string","null"]},"integration_sub_type":{"type":["string","null"]},"integration_type":{"type":"string"},"metadata":true,"name":{"type":"string"},"org_id":{"type":"string","format":"uuid"},"status":{"type":"boolean"},"workato_external_id":{"type":["integer","null"],"format":"int64"}},"examples":[{"app_id":"66c82223-428e-4d29-99a8-9b71da365663","auth_provider":null,"auth_status":false,"catalog_id":"01923692-8539-7bfe-8efe-a51a92ee378c","config":null,"delegation_requested_at":null,"delegation_requested_by":null,"delegation_status":null,"integration_health":null,"integration_sub_type":null,"integration_type":"app","metadata":null,"name":"Xero","org_id":"3756d031-835e-45f5-a709-82ec7335957f","status":true,"workato_external_id":null}],"required":["org_id","name","integration_type","auth_status","status"]},"CreateLocation":{"description":"Create a location.","type":"object","properties":{"location_name":{"type":"string"}},"examples":[{"location_name":"United States"}],"required":["location_name"]},"CreateOrgUnit":{"description":"Represents the payload for creating a new organizational unit in Google Workspace.","type":"object","properties":{"description":{"description":"Description of the organizational unit.","type":["string","null"]},"name":{"description":"The organizational unit's name.","type":"string"},"parentOrgUnitPath":{"description":"The organizational unit's parent path.","type":"string"}},"examples":[{"description":"Handles new sales operations.","name":"new_sales_team","parentOrgUnitPath":"/corp/sales"}],"required":["name","parentOrgUnitPath"]},"CreateRoleAssignment":{"description":"Request body for creating a new role assignment. This omits read-only fields that are only present in Google API responses.","type":"object","properties":{"assignedTo":{"description":"The unique ID of the entity this role is assigned to—either the userId of a user, the groupId of a group, or the uniqueId of a service account.","type":"string"},"assigneeType":{"description":"The type of the assignee (USER or GROUP).","allOf":[{"$ref":"#/components/schemas/AssigneeType"}]},"condition":{"description":"Optional. The condition associated with this role assignment.","type":["string","null"]},"orgUnitId":{"description":"Optional. If the role is restricted to an organization unit, this contains the ID for the organization unit the exercise of this role is restricted to.","type":["string","null"]},"roleId":{"description":"The ID of the role that is assigned.","type":"string"},"scopeType":{"description":"The scope in which this role is assigned. Acceptable values are: CUSTOMER, ORG_UNIT.","type":"string"}},"examples":[{"assignedTo":"user@example.com","assigneeType":"user","roleId":"987654321","scopeType":"CUSTOMER"}],"required":["roleId","assignedTo","assigneeType","scopeType"]},"CreateTeam":{"description":"Create a team.","type":"object","properties":{"team_name":{"type":"string"}},"examples":[{"team_name":"Platform"}],"required":["team_name"]},"CreateUpdateCompositeGroup":{"description":"The composite group to create or update.","type":"object","properties":{"aliases":{"description":"Desired-state email aliases for the Google group. Backend diffs and reconciles.","type":["array","null"],"items":{"type":"string"}},"composite_group_id":{"type":["string","null"],"format":"uuid"},"description":{"type":["string","null"]},"directory_id":{"type":"string","format":"uuid"},"directory_users":{"description":"Directory-aware user assignments. Each entry pairs a user_id with its directory_id for splitting assignments across composite groups.","type":["array","null"],"default":null,"items":{"$ref":"#/components/schemas/DirectoryUserAssignment"}},"dynamic_rules":{"description":"Any dynamic rules applied to the group. These are only used for items with visibility or Groups.","type":["array","null"],"items":{"$ref":"#/components/schemas/DynamicRule"}},"email":{"description":"The email of the group. This is only used for visibility Groups.","type":["string","null"]},"external_id":{"description":"The id of the external system this group links to in systems like JumpCloud or Google Workspace.","type":["string","null"]},"external_members":{"description":"External email addresses to add as Google Group members with type EXTERNAL.","type":["array","null"],"items":{"type":"string"}},"group_name":{"type":"string"},"group_org_tag_id":{"description":"The id of the group org tag.","type":["string","null"],"format":"uuid"},"group_settings":{"description":"Google Groups Settings to apply. Only present fields are sent.","anyOf":[{"$ref":"#/components/schemas/UpdateGroupSettings"},{"type":"null"}]},"is_parent":{"description":"An internal flag to determine if the group is a parent group that is needed due to the limitations of JumpCloud's individual assignments to Dynamic Groups.","type":["boolean","null"]},"jc_cloud_directory_id":{"description":"JumpCloud's Cloud Directory ID for Google Workspace. Used to track which JumpCloud cloud directory this group is synced to.","type":["string","null"]},"nested_groups":{"description":"The groups that are nested in this group. For visibility Groups, these are nested groups. For visibility Apps, these are the groups assigned to the app.","type":["array","null"],"items":{"type":"string"}},"org_id":{"type":"string","format":"uuid"},"secondary_directory_id":{"description":"Optional secondary directory to sync this group to. Used for JumpCloud→Google or Google→JumpCloud cross-directory sync. When set, a second group entry will be created in the secondary directory.","type":["string","null"],"format":"uuid"},"visibility":{"description":"The visibility of the group. Valid entries are Groups or Apps. \"All\" is not a valid visibility — it is only used as a query filter when listing groups.","type":"string"}},"examples":[{"aliases":null,"composite_group_id":null,"description":"All users in Singapore.","directory_id":"3756d031-835e-45f5-a709-82ec7335957f","directory_users":null,"dynamic_rules":[{"attribute":"location","operator":"equals","value":[{"item":"Singapore"}]}],"email":"all-singapore@example.com","external_id":null,"external_members":null,"group_name":"All Singapore Users","group_org_tag_id":"422b5755-1214-4781-a3cb-6795d1340728","group_settings":null,"is_parent":null,"jc_cloud_directory_id":"67202f6d70ab5d0001349b44","nested_groups":[],"org_id":"3756d031-835e-45f5-a709-82ec7335957f","secondary_directory_id":null,"visibility":"Groups"}],"required":["org_id","group_name","visibility","directory_id"]},"CreateUpdateGroup":{"description":"Google Groups resource for creating or updating a group in the Admin API. For more information about common tasks, see the Developer's Guide.","type":"object","properties":{"description":{"description":"An extended description to help users determine the purpose of a group. Maximum length is 4,096 characters.","type":["string","null"]},"email":{"description":"The group's email address.","type":"string"},"name":{"description":"The group's display name.","type":"string"}},"examples":[{"description":"This is a test group","email":"group@example.com","name":"All Users"}],"required":["email","name"]},"CreateUpdateMember":{"description":"Resource: CreateUpdateMember\nA Google Groups member can be a user or another group. This member can be inside or outside of your account's domains.","type":"object","properties":{"email":{"description":"The member's email address. A member can be a user or another group. This property is required when adding a member to a group. The email must be unique and cannot be an alias of another group.","type":["string","null"]},"id":{"description":"The unique ID of the group member. A member id can be used as a member request URI's memberKey.","type":["string","null"]},"role":{"description":"The member's role in a group. Acceptable values are: MANAGER, MEMBER, OWNER.","type":"string"},"type":{"description":"The type of group member. Acceptable values are: CUSTOMER, EXTERNAL, GROUP, USER.","type":["string","null"]}},"examples":[{"email":"member@example.com","role":"MEMBER","type":"USER"}],"required":["role"]},"CreateUserStateJobRequest":{"type":"object","properties":{"activation_email_override":{"type":["string","null"]},"send_activation_emails":{"type":["boolean","null"]},"start_date":{"type":"string"},"state":{"type":"string"},"user_ids":{"type":"array","items":{"type":"string"}}},"examples":[{"activation_email_override":"","send_activation_emails":true,"start_date":"2025-07-11T16:00:00.000Z","state":"ACTIVATED","user_ids":["66597a825828431c8457dc86"]}],"required":["start_date","state","user_ids"]},"CustomDomainStatus":{"description":"Status of your custom card domain: NONE when no domain is set, PENDING while we wait for your DNS records to validate, ACTIVE once it serves your cards, or FAILED if validation did not complete.","oneOf":[{"description":"No custom domain configured; cards serve only from the shared ShiftControl domain.","type":"string","const":"NONE"},{"description":"A domain has been requested and is awaiting DNS validation.","type":"string","const":"PENDING"},{"description":"The domain is validated and live; cards serve from it.","type":"string","const":"ACTIVE"},{"description":"Validation did not complete (records missing or the attempt timed out).","type":"string","const":"FAILED"}]},"CustomDomainStatusResponse":{"description":"Your custom card domain and its status, with the DNS records to add at your registrar while validation is pending.","type":"object","properties":{"cname_target":{"description":"The value to point your hostname's CNAME record at, present while the domain is pending validation.","type":["string","null"]},"hostname":{"description":"The configured custom hostname, or null when no custom domain is set.","type":["string","null"]},"status":{"description":"Current status of the custom domain.","allOf":[{"$ref":"#/components/schemas/CustomDomainStatus"}]},"txt_record_name":{"description":"Name of the TXT record to add to prove you own the domain, present while pending.","type":["string","null"]},"txt_record_value":{"description":"Value of the ownership-validation TXT record to add, present while pending.","type":["string","null"]}},"examples":[{"cname_target":"cards.shiftcontrol.io","hostname":"cards.acme.com","status":"PENDING","txt_record_name":"_cf-custom-hostname.cards.acme.com","txt_record_value":"a1b2c3d4-ownership-token"}],"required":["status"]},"CustomField":{"description":"A custom field for users in an organization.","type":"object","properties":{"created_at":{"type":"string","format":"partial-date-time"},"default_value":{"type":["string","null"]},"description":{"type":["string","null"]},"field_type":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_required":{"type":"boolean"},"is_system":{"type":"boolean"},"name":{"type":"string"},"org_id":{"type":"string","format":"uuid"},"ui_hint":{"type":["string","null"]},"ui_order":{"type":["integer","null"],"format":"int32"},"ui_section":{"type":["string","null"]},"updated_at":{"type":"string","format":"partial-date-time"},"validation_rules":true},"examples":[{"created_at":"2025-10-30T00:00:00","default_value":"blue","description":"The user's favorite color, shown in their profile.","field_type":"select","id":"01926b6a-2efe-7329-8894-540714194d06","is_required":false,"is_system":false,"name":"Favorite Color","org_id":"3756d031-835e-45f5-a709-82ec7335957f","ui_hint":"chips","ui_order":1,"ui_section":"Personal Info","updated_at":"2025-10-30T00:00:00","validation_rules":{"options":["red","blue","green"]}}],"required":["id","org_id","name","field_type","is_required","is_system","created_at","updated_at"]},"Customer":{"description":"Represents a customer in the Google Workspace Admin API.","type":"object","properties":{"alternateEmail":{"description":"The customer's secondary contact email address. This email address cannot be on the same domain as the customerDomain.","type":"string"},"customerCreationTime":{"description":"The customer's creation time (Readonly)","type":"string"},"customerDomain":{"description":"The customer's primary domain name string. Do not include the www prefix when creating a new customer.","type":"string"},"etag":{"description":"ETag of the resource.","type":"string"},"id":{"description":"The unique ID for the customer's Google Workspace account. (Readonly)","type":"string"},"kind":{"description":"Identifies the resource as a customer. Value: admin#directory#customer","type":"string"},"language":{"description":"The customer's ISO 639-2 language code.","type":"string"},"phoneNumber":{"description":"The customer's contact phone number in E.164 format.","type":["string","null"]},"postalAddress":{"description":"The customer's postal address information.","allOf":[{"$ref":"#/components/schemas/CustomerPostalAddress"}]}},"examples":[{"alternateEmail":"admin@example.org","customerCreationTime":"2023-01-01T00:00:00Z","customerDomain":"example.com","etag":"\"etag_value\"","id":"C0123456789","kind":"admin#directory#customer","language":"en","phoneNumber":"+1234567890","postalAddress":{"addressLine1":"1600 Amphitheatre Parkway","addressLine2":"Suite 100","contactName":"John Doe","countryCode":"US","locality":"Mountain View","organizationName":"Google LLC","postalCode":"94043","region":"CA"}}],"required":["id","customerDomain","kind","etag","alternateEmail","customerCreationTime","postalAddress","language"]},"CustomerPostalAddress":{"description":"Represents the postal address of a customer in the Google Workspace Admin API.","type":"object","properties":{"addressLine1":{"description":"A customer's physical address. The address can be composed of one to three lines.","type":["string","null"]},"addressLine2":{"description":"Address line 2 of the address.","type":["string","null"]},"addressLine3":{"description":"Address line 3 of the address.","type":["string","null"]},"contactName":{"description":"The customer contact's name.","type":["string","null"]},"countryCode":{"description":"This is a required property. For countryCode information see the ISO 3166 country code elements.","type":"string"},"locality":{"description":"Name of the locality. An example of a locality value is the city of San Francisco.","type":["string","null"]},"organizationName":{"description":"The company or company division name.","type":["string","null"]},"postalCode":{"description":"The postal code. A postalCode example is a postal zip code such as 10009.","type":["string","null"]},"region":{"description":"Name of the region. An example of a region value is NY for the state of New York.","type":["string","null"]}},"examples":[{"addressLine1":"1600 Amphitheatre Parkway","addressLine2":"Suite 100","contactName":"John Doe","countryCode":"US","locality":"Mountain View","organizationName":"Google LLC","postalCode":"94043","region":"CA"}],"required":["countryCode"]},"DataTransfer":{"description":"A Data Transfer resource representing the transfer of user data ownership between users.","type":"object","properties":{"applicationDataTransfers":{"description":"The list of per-application data transfer resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/ApplicationDataTransfer"}},"etag":{"description":"ETag of the resource.","type":["string","null"]},"id":{"description":"Read-only. The transfer's ID.","type":["string","null"]},"kind":{"description":"Identifies the resource as a DataTransfer request.","type":["string","null"]},"newOwnerUserId":{"description":"ID of the user to whom the data is being transferred (recipient).","type":["string","null"]},"oldOwnerUserId":{"description":"ID of the user whose data is being transferred (source).","type":["string","null"]},"overallTransferStatusCode":{"description":"Read-only. Overall transfer status code, e.g. completed, inProgress.","type":["string","null"]},"requestTime":{"description":"Read-only. The time at which the data transfer was requested (RFC 3339).","type":["string","null"]}},"examples":[{"applicationDataTransfers":[{"applicationId":"55656082996","applicationTransferParams":[{"key":"PRIVACY_LEVEL","value":["SHARED","PRIVATE"]}],"applicationTransferStatus":"completed"}],"etag":"\"kUnwYYg1BVyzlZxLWewcx0p3uJg\"","id":"AKrEtIYEEFJEHB","kind":"admin#datatransfer#DataTransfer","newOwnerUserId":"114394457072977320696","oldOwnerUserId":"108028652821197762986","overallTransferStatusCode":"completed","requestTime":"2026-03-01T12:00:00.000Z"}]},"DataTransferApplication":{"description":"A Google Workspace application that supports data transfer during user deletion.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":["string","null"]},"id":{"description":"The application's ID (int64 format as string). Retrieved via applications.list().","type":["string","null"]},"kind":{"description":"Identifies the resource as a DataTransfer Application Resource.","type":["string","null"]},"name":{"description":"The application's name, e.g. 'Drive and Docs', 'Calendar'.","type":["string","null"]},"transferParams":{"description":"The list of all possible transfer parameters for this application.","type":["array","null"],"items":{"$ref":"#/components/schemas/ApplicationTransferParam"}}},"examples":[{"etag":"\"kUnwYYg1BVyzlZxLWewcx0p3uJg\"","id":"55656082996","kind":"admin#datatransfer#ApplicationResource","name":"Drive and Docs","transferParams":[{"key":"PRIVACY_LEVEL","value":["SHARED","PRIVATE"]}]}]},"DatabaseAttribute":{"type":"object","properties":{"defaultValue":{"type":["string","null"]},"friendlyName":{"type":["string","null"]},"name":{"type":["string","null"]},"nameFormat":{"type":["string","null"]},"readOnly":{"type":["boolean","null"]},"required":{"type":["boolean","null"]},"type":{"type":["string","null"]},"value":{"type":["string","null"]},"valueType":{"type":["string","null"]},"visible":{"type":["boolean","null"]}}},"DefaultDomain":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},"DefaultSender":{"description":"Default sender for members who can post messages as the group.","oneOf":[{"description":"The default sender is the member themselves.","type":"string","const":"DEFAULT_SELF"},{"description":"The default sender is the group.","type":"string","const":"GROUP"}]},"DeleteGoogleUserQueryParams":{"description":"Query parameters for Google user deletion.","type":"object","properties":{"replacement_manager_email":{"description":"Email of the replacement manager. When provided, all direct reports of the deleted user will be reassigned to this manager before deletion.","type":["string","null"]}}},"DeleteGroupQuery":{"description":"Query parameters for the delete group endpoint.","type":"object","properties":{"delete_from_google":{"description":"When true, also delete the group from Google Workspace.\nFor Google-only groups this is implicit. For synced JumpCloud+Google groups,\nthis controls whether the Google side is also removed.","type":"boolean","default":false}}},"DeleteSystemUserQueryParams":{"description":"Query structure for deleting a system user.","type":"object","properties":{"cascade_manager":{"description":"The JumpCloud user ID of the replacement manager. If this is not set, we'll clear the manager from any user that this user is the manager of.","type":["string","null"]}}},"DeleteTeamResponse":{"description":"Response for team delete operations including any propagation failures","type":"object","properties":{"propagation_failures":{"description":"Count of Google user update failures during team delete propagation.\nOnly present when there were failures.","anyOf":[{"$ref":"#/components/schemas/PropagationFailureCount"},{"type":"null"}]}},"examples":[{"propagation_failures":{"google_user_update_failures":2,"jumpcloud_user_update_failures":1}}]},"DenyRequest":{"description":"Body for denying a work item. Denies the current stage, which rejects and cancels the work item; the optional comment is recorded alongside the denial.","type":"object","properties":{"comment":{"description":"Optional plain-text reason for denial. Empty/whitespace-only values are treated as no comment.","type":["string","null"]},"expected_stage_position":{"description":"Optional: the stage you expect to be currently awaiting a decision. When provided and the work item has already moved past it, the denial is rejected so two approvers acting at once can't decide stale state. Omit it to deny whatever stage is currently awaiting a decision.","type":["integer","null"],"format":"int32","default":null}}},"Dep":{"description":"Automated Device Enrollment (DEP) configuration","type":"object","properties":{"enableZeroTouchEnrollment":{"type":["boolean","null"]},"setupAssistantOptions":true,"welcomeScreen":true},"examples":[{"enableZeroTouchEnrollment":false}]},"Department":{"description":"A department in an organization.","type":"object","properties":{"created_at":{"type":"string","format":"partial-date-time"},"department_id":{"type":"string","format":"uuid"},"department_name":{"type":"string"},"org_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"created_at":"2024-09-11T09:54:38.116430","department_id":"0191e081-a3a5-7d32-a02d-291e336abd4a","department_name":"People & Culture","org_id":"3756d031-835e-45f5-a709-82ec7335957f","updated_at":"2025-01-31T04:36:29.466306"}],"required":["department_id","org_id","department_name","created_at","updated_at"]},"Device":{"description":"A device for a push credential.","type":"object","properties":{"appVersion":{"type":"string"},"make":{"type":"string"},"model":{"type":"string"},"os":{"type":"string"},"osVersion":{"type":"string"},"uvEnabled":{"type":"boolean"}},"examples":[{"appVersion":"2.2.8","make":"Apple","model":"iPhone","os":"ios","osVersion":"18.3.1","uvEnabled":false}],"required":["make","model","os","osVersion","appVersion","uvEnabled"]},"DeviceHealthRow":{"description":"A device's health across all signals, with a worst-of overall rating.","type":"object","properties":{"battery":{"$ref":"#/components/schemas/BatterySignal"},"disk":{"$ref":"#/components/schemas/DiskSignal"},"displayName":{"description":"The device's display name.","type":["string","null"]},"encryption":{"$ref":"#/components/schemas/EncryptionSignal"},"hostname":{"description":"The device's hostname.","type":["string","null"]},"os":{"description":"The operating system name, e.g. \"Mac OS X\" or \"Windows\".","type":["string","null"]},"osVersion":{"description":"The current OS version string, e.g. \"15.5\" or \"10.0.22631\".","type":["string","null"]},"overall":{"description":"The most severe status across all of this device's signals.","allOf":[{"$ref":"#/components/schemas/HealthStatus"}]},"platform":{"description":"Coarse platform for grouping and icons: macos, windows, linux, ios, or unknown.","type":"string"},"reachability":{"$ref":"#/components/schemas/ReachabilitySignal"},"secureBoot":{"$ref":"#/components/schemas/SecureBootSignal"},"stability":{"$ref":"#/components/schemas/StabilitySignal"},"systemId":{"description":"The device's id, matching the device inventory.","type":"string"}},"required":["systemId","platform","overall","battery","disk","encryption","secureBoot","stability","reachability"]},"DeviceOwnerAccess":{"description":"A device's owner's access level and optional time-bound expiry","type":"object","properties":{"accessUnknown":{"description":"True when the owner's access level could not be determined right now due to a temporary lookup error. Show this device's access as \"unknown\" rather than standard, so a failed lookup isn't mistaken for a non-elevated user.","type":"boolean"},"expiry":{"description":"When the owner's elevated access expires, if it is time-bound","type":["string","null"]},"sudo":{"description":"The owner's elevated (sudo) access on this device, absent when standard","anyOf":[{"$ref":"#/components/schemas/SudoSetting"},{"type":"null"}]},"systemId":{"description":"The device's system id","type":"string"}},"required":["systemId","accessUnknown"]},"DevicePinRequest":{"description":"PIN required by Apple MDM lock and erase actions. The PIN is shown on-screen during a lock or required to reactivate a wiped device.","type":"object","properties":{"pin":{"description":"Six-digit numeric PIN displayed on the device during a lock, or required to reactivate after an erase","type":"string"}},"examples":[{"pin":"123456"}],"required":["pin"]},"Directory":{"description":"A JumpCloud directory.","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}},"examples":[{"id":"67202f6d70ab5d0001349b44","name":"Google Workspace","type":"g_suite"}],"required":["id","name","type"]},"Directory2":{"description":"A directory in an organization.","type":"object","properties":{"created_at":{"type":"string","format":"partial-date-time"},"directory_id":{"type":"string","format":"uuid"},"directory_name":{"type":"string"},"domains":true,"enabled":{"type":["boolean","null"]},"external_id":{"type":["string","null"]},"integration_id":{"type":["string","null"],"format":"uuid"},"is_primary":{"type":"boolean"},"last_checked_at":{"type":["string","null"],"format":"partial-date-time"},"metadata":true,"org_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"created_at":"2024-10-08T09:16:13.951358","directory_id":"01926b6a-2efe-7329-8894-540714194d06","directory_name":"Google","domains":[],"enabled":true,"external_id":"1029fc84ae634f7fdbaab3e8","integration_id":"3756d031-835e-45f5-a709-82ec7335957f","is_primary":true,"last_checked_at":"2024-10-08T09:16:13.951358","metadata":null,"org_id":"3756d031-835e-45f5-a709-82ec7335957f","updated_at":"2024-10-08T09:16:13.951358"}],"required":["directory_id","org_id","directory_name","is_primary","created_at","updated_at","domains"]},"DirectoryUserAssignment":{"description":"A user assignment with its directory context, used for multi-directory groups.","type":"object","properties":{"directory_id":{"type":"string","format":"uuid"},"user_id":{"type":"string"}},"examples":[{"directory_id":"2828d625-c3d7-4554-a642-5fee2c64886b","user_id":"66b42ef6693525dd6b48d7ed"}],"required":["user_id","directory_id"]},"DiskSignal":{"description":"Free space on the device's largest disk volume.","type":"object","properties":{"freeGb":{"description":"Free space in gigabytes.","type":["number","null"],"format":"double"},"freePercent":{"description":"Free space as a percentage of the volume's total size.","type":["integer","null"],"format":"int64"},"status":{"$ref":"#/components/schemas/HealthStatus"},"totalGb":{"description":"Total volume size in gigabytes.","type":["number","null"],"format":"double"}},"required":["status"]},"Domain":{"description":"Domain object","type":"object","properties":{"creationTime":{"description":"Creation time of the domain in Unix time format. (Read-only)","type":"string"},"domainAliases":{"description":"A list of domain alias objects. (Read-only)","type":["array","null"],"items":{"$ref":"#/components/schemas/DomainAlias"}},"domainName":{"description":"The domain name of the customer.","type":"string"},"etag":{"description":"ETag of the resource.","type":"string"},"isPrimary":{"description":"Indicates if the domain is a primary domain. (Read-only)","type":"boolean"},"kind":{"description":"Kind of resource this is.","type":"string"},"verified":{"description":"Indicates the verification state of a domain. (Read-only)","type":"boolean"}},"examples":[{"creationTime":"1622505600","domainAliases":[{"creationTime":"1622505600","domainAliasName":"alias.example.com","etag":"\"etag_value\"","kind":"admin#directory#domainAlias","parentDomainName":"example.com","verified":true}],"domainName":"example.com","etag":"\"etag_value\"","isPrimary":true,"kind":"admin#directory#domain","verified":true}],"required":["kind","verified","etag","creationTime","isPrimary","domainName"]},"DomainAlias":{"description":"DomainAlias object","type":"object","properties":{"creationTime":{"description":"The creation time of the domain alias in Unix time format. (Read-only)","type":"string"},"domainAliasName":{"description":"The domain alias name.","type":"string"},"etag":{"description":"ETag of the resource.","type":"string"},"kind":{"description":"Kind of resource this is.","type":"string"},"parentDomainName":{"description":"The parent domain name that the domain alias is associated with. This can either be a primary or secondary domain name within a customer.","type":"string"},"verified":{"description":"Indicates the verification state of a domain alias. (Read-only)","type":"boolean"}},"examples":[{"creationTime":"1622505600","domainAliasName":"alias.example.com","etag":"\"etag_value\"","kind":"admin#directory#domainAlias","parentDomainName":"example.com","verified":true}],"required":["kind","parentDomainName","verified","creationTime","etag","domainAliasName"]},"DomainInfo":{"description":"Active Directory domain membership info","type":"object","properties":{"domainName":{"type":["string","null"]},"partOfDomain":{"type":["boolean","null"]}},"examples":[{"domainName":"","partOfDomain":false}]},"DsaPublicKeyInfo":{"description":"Represents information of a DSA public key.","type":"object","properties":{"keySize":{"description":"Key size in bits (size of parameter P).","type":"integer","format":"int32"}},"examples":[{"keySize":1024}],"required":["keySize"]},"DynamicRule":{"type":"object","properties":{"attribute":{"description":"The attribute to apply the rule to.","type":"string"},"operator":{"description":"The operator to apply to the rule. Valid operators are: equals, not equals, starts with, ends with, contains, and does not contain.","type":"string"},"value":{"description":"A list of values to apply to the rule.","type":"array","items":{"$ref":"#/components/schemas/DynamicRuleValueItem"}}},"required":["attribute","operator","value"]},"DynamicRuleValueItem":{"type":"object","properties":{"item":{"description":"The value to apply to the rule.","type":"string"}},"required":["item"]},"Email":{"description":"Represents an email address associated with the user. Maximum allowed data size is 10KB.","type":"object","properties":{"address":{"description":"The user's email address. Also serves as the email ID.","type":"string"},"customType":{"description":"If the email address type is custom, this property contains the custom value and must be set.","type":["string","null"]},"primary":{"description":"Indicates if this is the user's primary email. Only one entry can be marked as primary.","type":["boolean","null"]},"type":{"description":"The type of the email account. Acceptable values: custom, home, other, work.","type":["string","null"]}},"required":["address"]},"EmailAvailabilityResult":{"description":"Result of checking whether an email address is available in Google Workspace","type":"object","properties":{"available":{"description":"Whether the email address is available (not taken by any user, group, or alias)","type":"boolean"},"canonical_email":{"description":"The canonical form of the email after stripping plus addressing, if the input contained a '+' in the local part","type":["string","null"]},"entity_id":{"description":"The ShiftControl entity ID if we can match it locally","type":["string","null"]},"normalization_reason":{"description":"Reason the email was rejected or normalized (e.g., 'plus-addressing-not-allowed')","type":["string","null"]},"taken_by":{"description":"What type of entity holds this email, if taken: 'user' or 'group'","type":["string","null"]},"taken_by_name":{"description":"The display name of the entity holding this email","type":["string","null"]}},"required":["available"]},"EmployeeCancelRequest":{"description":"Body for the employee-portal cancel endpoint. The optional comment is recorded on the work item alongside the cancellation.","type":"object","properties":{"comment":{"description":"Optional plain-text reason for cancellation. Empty/whitespace-only values are treated as no comment.","type":["string","null"]}}},"EmployeeCardEditResponse":{"description":"A card ready to edit: its stored field values plus the resolved governance rules — which fields can be changed, the admin-set values for locked fields, per-line icons, and the layout choice.","type":"object","properties":{"can_choose_layout":{"description":"Whether the layout can be changed on this card. False when the organization locks the layout for everyone.","type":"boolean"},"field_defaults":{"description":"Values the organization has set for fields keyed by field name; for locked fields this is the value shown on the card."},"field_governance":{"description":"The resolved rule for each field keyed by field name: HIDDEN (kept but never shown), LOCKED (admin value, not editable), EDITABLE (the person owns it), or OPTIONAL (the person owns it and may include or leave it off). Fields not listed are editable."},"field_icons":{"description":"The per-line icon chosen for each field keyed by field name."},"field_overrides":{"description":"Fields the person has manually overridden so they no longer track the directory profile, keyed by field name."},"field_values":{"description":"The card's stored field values keyed by field name."},"layout":{"description":"The layout currently applied to this card.","allOf":[{"$ref":"#/components/schemas/CardLayoutEnum"}]},"layout_choice":{"description":"The layout chosen for this card, or null when it follows the organization's default layout.","anyOf":[{"$ref":"#/components/schemas/CardLayoutEnum"},{"type":"null"}]},"publish_state":{"description":"Whether the card is live: DRAFT, PUBLISHED, or UNPUBLISHED.","allOf":[{"$ref":"#/components/schemas/CardPublishStateEnum"}]}},"examples":[{"can_choose_layout":true,"field_defaults":{"website":"https://acme.com"},"field_governance":{"email":"LOCKED","phone":"OPTIONAL","title":"EDITABLE"},"field_icons":{"phone":"phone-outline"},"field_overrides":{"title":true},"field_values":{"phone":"+1 555 0100","title":"Field Engineer"},"layout":"CLASSIC_CENTERED","layout_choice":"MINIMAL_FLAT","publish_state":"DRAFT"}],"required":["field_values","field_overrides","field_governance","field_defaults","field_icons","layout","can_choose_layout","publish_state"]},"EmployeeCardResponse":{"description":"A person's card: its slug, public URLs, publish state, offboarding state, and the QR sizes available to download.","type":"object","properties":{"custom_domain_url":{"description":"The card's public URL on the organization's custom domain, present only when the organization has an active custom domain.","type":["string","null"]},"grace_until":{"description":"When the offboarding grace window ends, after which the offboarding choice takes effect; null while the card is active.","type":["string","null"],"format":"partial-date-time"},"kv_synced":{"description":"Whether the card's live edge copy is in sync with this published state. A freshly published card whose edge push is still pending reports PUBLISHED with this false; it flips true once the edge sync completes. Always false while the card is not PUBLISHED.","type":"boolean"},"offboarding_state":{"description":"Where the card sits in the offboarding lifecycle: ACTIVE while the person is present, GRACE during the grace window after they leave, then GENERIC, REDIRECTED, or DEAD depending on the offboarding choice.","allOf":[{"$ref":"#/components/schemas/CardOffboardingStateEnum"}]},"public_url":{"description":"The card's public URL on the shared ShiftControl card domain.","type":"string"},"publish_state":{"description":"Whether the card is live: DRAFT (never published), PUBLISHED (live at its URL), or UNPUBLISHED (taken down, slug retained).","allOf":[{"$ref":"#/components/schemas/CardPublishStateEnum"}]},"qr_sizes":{"description":"QR sizes available to download for this card, for example [\"256\", \"512\", \"1024\", \"2048\", \"svg\"].","type":"array","items":{"type":"string"}},"slug":{"description":"The card's unique slug, the trailing segment of its public URL.","type":"string"}},"examples":[{"custom_domain_url":"https://cards.acme.com/n3xqz7kp2m4w","grace_until":null,"kv_synced":true,"offboarding_state":"ACTIVE","public_url":"https://cards.shiftcontrol.io/n3xqz7kp2m4w","publish_state":"PUBLISHED","qr_sizes":["256","512","1024","2048","svg"],"slug":"n3xqz7kp2m4w"}],"required":["slug","public_url","publish_state","kv_synced","offboarding_state","qr_sizes"]},"EmployeeDirectoryItem":{"description":"An Employee Directory Item.","type":"object","properties":{"_id":{"type":"string"},"department":{"type":["string","null"]},"displayname":{"type":["string","null"]},"email":{"type":["string","null"]},"firstname":{"type":["string","null"]},"jobTitle":{"type":["string","null"]},"lastname":{"type":["string","null"]},"location":{"type":["string","null"]},"manager":{"type":["string","null"]}},"examples":[{"_id":"1234567890abcdef12345678","department":"Engineering","displayname":"John Doe","email":"john.doe@example.com","firstname":"John","jobTitle":"Software Engineer","lastname":"Doe","location":"New York","manager":"0987654321fedcba09876543"}],"required":["_id"]},"EmployeeDirectoryUser":{"description":"A minimal directory user for the employee portal org chart.","type":"object","properties":{"avatarUrl":{"description":"URL to user's avatar/profile photo","type":["string","null"]},"department":{"description":"Department name","type":["string","null"]},"displayName":{"description":"Display name for the user","type":["string","null"]},"firstName":{"description":"User's first name","type":["string","null"]},"id":{"description":"Unique identifier for the user","type":"string"},"jobTitle":{"description":"Job title","type":["string","null"]},"lastName":{"description":"User's last name","type":["string","null"]},"location":{"description":"Office location","type":["string","null"]},"managerDisplayName":{"description":"Manager's display name","type":["string","null"]},"managerId":{"description":"Manager's user ID","type":["string","null"]},"managerPrimaryEmail":{"description":"Manager's primary email","type":["string","null"]},"primaryEmail":{"description":"Primary email address","type":"string"},"team":{"description":"Team name","type":["string","null"]}},"examples":[{"avatarUrl":"https://lh3.googleusercontent.com/a/example","department":"C-Suite","displayName":"James Tan","firstName":"James","id":"66b417c8b170fe888e997f27","jobTitle":"Co-Founder & CEO","lastName":"Tan","location":"Singapore","primaryEmail":"james.tan@example.com","team":"Leadership"}],"required":["id","primaryEmail"]},"EmployeeDirectoryUserList":{"description":"List of minimal directory users for the employee portal.","type":"object","properties":{"results":{"description":"List of directory users","type":"array","items":{"$ref":"#/components/schemas/EmployeeDirectoryUser"}},"totalCount":{"description":"Total number of users","type":"integer","format":"uint","minimum":0}},"examples":[{"results":[{"avatarUrl":"https://lh3.googleusercontent.com/a/example","department":"C-Suite","displayName":"James Tan","firstName":"James","id":"66b417c8b170fe888e997f27","jobTitle":"Co-Founder & CEO","lastName":"Tan","location":"Singapore","primaryEmail":"james.tan@example.com","team":"Leadership"}],"totalCount":1}],"required":["results","totalCount"]},"EmployeePortalApp":{"description":"An Employee Portal App.","type":"object","properties":{"_id":{"type":"string"},"active":{"type":"boolean"},"description":{"type":["string","null"]},"displayLabel":{"type":"string"},"logo":{"$ref":"#/components/schemas/EmployeePortalAppLogo"},"name":{"type":"string"},"sso":{"$ref":"#/components/schemas/EmployeePortalAppSso"},"ssoUrl":{"type":"string"}},"examples":[{"_id":"665970c1b986ab3a69ccda1d","active":true,"description":"ShiftControl helps you to manage your organization's IT and SaaS services.","displayLabel":"ShiftControl","logo":{"color":"","url":"https://assets.jumpcloud.com/images/applications/665973caf7de0a0e77debc5b.png"},"name":"saml2","sso":{"hidden":false,"oidc":{"relyingPartyUrl":""},"type":"saml"},"ssoUrl":"https://sso.jumpcloud.com/saml2/shiftcontrol"}],"required":["_id","name","ssoUrl","displayLabel","active","logo","sso"]},"EmployeePortalAppLogo":{"type":"object","properties":{"color":{"type":"string"},"url":{"type":"string"}},"required":["url","color"]},"EmployeePortalAppResponse":{"description":"An application available to the current user in the employee portal, sourced from the local database via composite group membership.","type":"object","properties":{"bookmark_url":{"description":"URL used to launch the application.","type":["string","null"]},"description":{"description":"A brief description of the application.","type":["string","null"]},"external_id":{"description":"Legacy external identifier (e.g. JumpCloud app ID). Used for migrating favorites and app ordering from the old JC-based endpoint.","type":["string","null"]},"id":{"description":"The app's primary key UUID.","type":"string","format":"uuid"},"logo_url":{"description":"URL to the app's logo image.","type":["string","null"]},"name":{"description":"Display name of the application.","type":"string"}},"examples":[{"bookmark_url":"https://www.notion.so","description":"Team workspace for notes, docs, and project management.","external_id":"5f8b3c2a1d4e6f7890abcdef","id":"019223a6-41a4-7b2f-afd5-0cbcb9d48ebe","logo_url":"https://img.logo.dev/notion.so","name":"Notion"}],"required":["id","name"]},"EmployeePortalAppSso":{"type":"object","properties":{"hidden":{"type":"boolean"},"oidc":{"$ref":"#/components/schemas/EmployeePortalAppSsoOidc"},"type":{"type":"string"}},"required":["type","hidden","oidc"]},"EmployeePortalAppSsoOidc":{"type":"object","properties":{"relyingPartyUrl":{"type":"string"}},"required":["relyingPartyUrl"]},"EmployeePortalDeviceLocalAccount":{"description":"A local sign-in account on one of your devices.","type":"object","properties":{"admin":{"description":"Whether this local account has administrator rights on the device.","type":"boolean"},"username":{"description":"The local account's username on the device.","type":"string"}},"examples":[{"admin":true,"username":"jdoe"}],"required":["username","admin"]},"EmployeePortalDirectory":{"description":"A minimal directory summary (id, name, primary flag, enabled) for the employee portal.","type":"object","properties":{"directory_id":{"description":"Stable identifier of the directory.","type":"string","format":"uuid"},"directory_name":{"description":"Raw provider/directory name (e.g. \"Google\", \"JumpCloud\"); the frontend maps this to a provider enum.","type":"string"},"enabled":{"description":"Whether the directory is enabled. Always true here — the endpoint returns only enabled directories.","type":"boolean"},"is_primary":{"description":"Whether this is the org's primary directory.","type":"boolean"}},"examples":[{"directory_id":"019223a6-41a4-7b2f-afd5-0cbcb9d48ebe","directory_name":"Google","enabled":true,"is_primary":true}],"required":["directory_id","directory_name","is_primary","enabled"]},"EmployeePortalPreferences":{"description":"The employee portal preferences for a user.","type":"object","properties":{"appOrder":{"description":"A ordered list of JumpCloud app ids.","type":"array","items":{"type":"string"}},"favoriteApps":{"description":"A list of JumpCloud app ids.","type":"array","items":{"type":"string"}},"themeMode":{"description":"The theme mode (light/dark/system).","type":"string"}},"examples":[{"appOrder":["66a703c7961b353c1ae916d3","665970c1b986ab3a69ccda1d","66a1bcb7c1ad866af1ac0b99","667b58c864896865aedf0e1f"],"favoriteApps":["665970c1b986ab3a69ccda1d","66a703c7961b353c1ae916d3"],"themeMode":"dark"}],"required":["appOrder","favoriteApps","themeMode"]},"EmployeePortalWorkItemListQuery":{"description":"List/paginate the calling user's work items (employee portal). Combines offset pagination with work-item-specific filters and an involvement scope.","type":"object","properties":{"assignee_email":{"description":"Filter to work items whose assignee email matches (case-insensitive).","type":["string","null"]},"assignee_user_id":{"description":"Filter to work items currently assigned to this user UUID.","type":["string","null"],"format":"uuid"},"filter":{"description":"Free-text filter applied to the work item title (case-insensitive substring match).","type":["string","null"]},"involvement":{"description":"Restrict the result set by how the calling user is involved with each work item: assignee, target, originated, watcher, or any (default any).","anyOf":[{"$ref":"#/components/schemas/InvolvementFilter"},{"type":"null"}]},"open":{"description":"When true, return only open work items — those not yet DONE or CANCELED.","type":["boolean","null"]},"page":{"description":"The page to retrieve, always starts at 0. Defaults to 0 when omitted.","type":["integer","null"],"format":"int64"},"page_size":{"description":"The number of items to retrieve per page. Defaults to 10 when omitted; values below 1 are treated as 1.","type":["integer","null"],"format":"int64"},"parent_id":{"description":"Filter to work items whose parent_id matches this UUID (i.e. children of a given parent).","type":["string","null"],"format":"uuid"},"source":{"description":"Filter to work items with this source value (e.g. MANUAL_ADMIN, EMPLOYEE_REQUEST, SCIM, HRIS_EVENT).","anyOf":[{"$ref":"#/components/schemas/WorkItemSourceEnum"},{"type":"null"}]},"status":{"description":"Filter to work items in this status (e.g. NEW, IN_PROGRESS, BLOCKED, DONE, CANCELED).","anyOf":[{"$ref":"#/components/schemas/WorkItemStatusEnum"},{"type":"null"}]},"statuses":{"description":"Filter to work items whose status is any of these values. Repeat the parameter to pass several (e.g. statuses=TODO&statuses=IN_PROGRESS).","type":["array","null"],"items":{"$ref":"#/components/schemas/WorkItemStatusEnum"}},"target_user_email":{"description":"Filter to work items whose target user email matches (case-insensitive).","type":["string","null"]},"type":{"description":"Filter to work items of this type (e.g. APP_ACCESS_REQUEST, ONBOARDING, OFFBOARDING).","anyOf":[{"$ref":"#/components/schemas/WorkItemTypeEnum"},{"type":"null"}]},"unapproved":{"description":"When true, return only work items that are pending approval.","type":["boolean","null"]}}},"EncryptionSignal":{"description":"Disk encryption status. Healthy when the disk is encrypted and a recovery key is held on your behalf; a warning when encrypted without a held recovery key; critical when encryption is off.","type":"object","properties":{"encrypted":{"description":"Whether the disk is encrypted.","type":["boolean","null"]},"recoveryKeyEscrowed":{"description":"Whether a recovery key is held on your behalf, so the disk can be unlocked if needed.","type":["boolean","null"]},"status":{"$ref":"#/components/schemas/HealthStatus"}},"required":["status"]},"EnqueuedDeletionResponse":{"description":"Response when a deletion job is enqueued (202 Accepted).","type":"object","properties":{"job_id":{"description":"UUID of the enqueued deletion job","type":"string","format":"uuid"}},"required":["job_id"]},"EntitlementsResponse":{"description":"Organization entitlements with version and metadata","type":"object","properties":{"entitlements":{"description":"List of entitlement strings for the organization","type":"array","items":{"type":"string"}},"org_id":{"description":"The unique identifier of the organization","type":"string","format":"uuid"},"updated_at":{"description":"Timestamp when the entitlements were last updated","type":"string","format":"date-time"},"version":{"description":"Version number of the entitlements, incremented on each update","type":"integer","format":"int64"}},"examples":[{"entitlements":["shiftcontrol_core","jumpcloud_billing_only","google_workspace_integration"],"org_id":"3756d031-835e-45f5-a709-82ec7335957f","updated_at":"2024-10-08T09:16:13.951358Z","version":42}],"required":["org_id","entitlements","version","updated_at"]},"Event":{"description":"Type of the Subscription event","oneOf":[{"description":"User Created Event","type":"string","const":"ADD"},{"description":"User Deleted Event","type":"string","const":"DELETE"},{"description":"User Admin Status Change Event","type":"string","const":"MAKE_ADMIN"},{"description":"User Undeleted Event","type":"string","const":"UNDELETE"},{"description":"User Updated Event","type":"string","const":"UPDATE"}]},"Event2":{"description":"Activity event in the report.","type":"object","properties":{"name":{"description":"Name of the event.","type":"string"},"parameters":{"description":"Parameter value pairs for the event.","type":"array","items":{"$ref":"#/components/schemas/Parameter"}},"type":{"description":"Type of event.","type":"string"}},"required":["type","name","parameters"]},"EventType":{"description":"Events to watch for.","type":"string","enum":["ADD","DELETE","UPDATE","UNDELETE"]},"ExecutionInput":{"description":"Input parameters for an execution","type":"object","properties":{"dry_run":{"description":"Whether this was a dry-run execution","type":"boolean"},"integration_id":{"description":"Integration ID","type":["string","null"],"format":"uuid"},"integration_type":{"description":"Integration type (for backward compatibility)","type":["string","null"]},"org_id":{"description":"Organization ID","type":"string","format":"uuid"}},"required":["org_id","dry_run"]},"ExecutionOutput":{"description":"Output summary from a completed execution","type":"object","properties":{"actions_created":{"description":"Number of users created","type":"integer","format":"uint","default":0,"minimum":0},"actions_disabled":{"description":"Number of users disabled","type":"integer","format":"uint","default":0,"minimum":0},"actions_enabled":{"description":"Number of users enabled","type":"integer","format":"uint","default":0,"minimum":0},"actions_updated":{"description":"Number of users updated","type":"integer","format":"uint","default":0,"minimum":0},"errors":{"description":"List of error messages","type":"array","default":[],"items":{"type":"string"}},"failure_count":{"description":"Total number of failed actions","type":"integer","format":"uint","default":0,"minimum":0},"success_count":{"description":"Total number of successful actions","type":"integer","format":"uint","default":0,"minimum":0}}},"ExecutionStatus":{"description":"Execution status","type":"string","enum":["RUNNING","SUCCEEDED","FAILED","TIMED_OUT","ABORTED"]},"ExecutionSummary":{"description":"Summary of a single Step Functions execution","type":"object","properties":{"end_time":{"description":"Execution end time (if completed)","type":["string","null"],"format":"date-time"},"error":{"description":"Error message (if failed)","type":["string","null"]},"execution_arn":{"description":"Step Functions execution ARN","type":"string"},"input":{"description":"Input parameters for the execution","allOf":[{"$ref":"#/components/schemas/ExecutionInput"}]},"output":{"description":"Output summary (if completed successfully)","anyOf":[{"$ref":"#/components/schemas/ExecutionOutput"},{"type":"null"}]},"start_time":{"description":"Execution start time","type":"string","format":"date-time"},"status":{"description":"Current execution status","allOf":[{"$ref":"#/components/schemas/ExecutionStatus"}]}},"required":["execution_arn","start_time","status","input"]},"ExecutionsResponse":{"description":"Response containing execution history","type":"object","properties":{"count":{"description":"Total number of executions returned in this response","type":"integer","format":"uint","minimum":0},"executions":{"description":"List of execution summaries","type":"array","items":{"$ref":"#/components/schemas/ExecutionSummary"}},"next_token":{"description":"Token for retrieving the next page of results","type":["string","null"]}},"required":["executions","count"]},"ExtendedFetchOrgResponse":{"description":"An organization's details.","type":"object","properties":{"billing_account_id":{"description":"The Sequence billing account ID for the organization.","type":["string","null"]},"default_currency":{"description":"The default currency for the organization using the three-letter ISO-4217 format.","type":"string"},"domain":{"type":["string","null"]},"free_trial_end_date":{"description":"The end date of the organization's free trial period.","type":["string","null"],"format":"date-time"},"free_trial_grace_period_end_date":{"description":"The end date of the post-trial grace period (free_trial_end_date + billing.free_trial_grace_period_days). This is when access actually ends — the trial nominally ends on free_trial_end_date but the org keeps working until grace expires. Only set when free_trial_end_date is set.","type":["string","null"],"format":"date-time"},"idp_external_id":{"type":["string","null"]},"is_startup":{"description":"Whether the org is on the startup tier (carries the \"startup\" label). Startup orgs are billed annually only.","type":"boolean"},"name":{"type":"string"},"org_id":{"type":"string"},"payment_account_id":{"description":"The payment account ID for the organization.","type":["string","null"]},"work_item_key_prefix":{"description":"Short uppercase code shown at the start of every work item key, e.g. \"SC\" in \"SC-142\". Absent until the organization has one assigned.","type":["string","null"]}},"examples":[{"default_currency":"USD","domain":"example.com","idp_external_id":null,"is_startup":false,"name":"Example Org","org_id":"3756d031-835e-45f5-a709-82ec7335957f","work_item_key_prefix":"SC"}],"required":["org_id","name","default_currency","is_startup"]},"ExternalId":{"description":"Represents an external identifier for the user (e.g., employee or network ID). Maximum allowed data size is 2KB.","type":"object","properties":{"customType":{"description":"If the external ID type is custom, this property contains the custom value and must be set.","type":["string","null"]},"type":{"description":"The type of external ID. Acceptable values: account, custom, customer, login_id, network, organization.","type":["string","null"]},"value":{"description":"The value of the external ID.","type":"string"}},"required":["value"]},"FdeKey":{"description":"FileVault Recovery Key","type":"object","properties":{"key":{"type":"string"}},"examples":[{"key":"TEST-KEY-0000-0000-0000"}],"required":["key"]},"FdeStatus":{"description":"Full-disk-encryption status","type":"object","properties":{"active":{"type":["boolean","null"]},"cloudEncryptionProvider":{"type":["string","null"]},"keyPresent":{"type":["boolean","null"]}},"examples":[{"active":true,"cloudEncryptionProvider":"","keyPresent":true}]},"FetchApiKeyResponse":{"type":"object","properties":{"api_key_id":{"type":"string"},"created_at":{"type":"integer","format":"int32"},"display_name":{"type":["string","null"]},"expires_at_seconds":{"type":["integer","null"],"format":"int64"},"metadata":true,"org_id":{"type":["string","null"]},"user_id":{"type":["string","null"]}},"required":["api_key_id","created_at"]},"FetchApiKeysPagedResponse":{"type":"object","properties":{"api_keys":{"type":"array","items":{"$ref":"#/components/schemas/FetchApiKeyResponse"}},"current_page":{"type":"integer","format":"int64"},"has_more_results":{"type":"boolean"},"page_size":{"type":"integer","format":"int64"},"total_api_keys":{"type":"integer","format":"int64"}},"required":["api_keys","total_api_keys","current_page","page_size","has_more_results"]},"FilesS3":{"description":"Command S3 file attachment","type":"object","properties":{"destination":{"type":["string","null"]},"name":{"type":["string","null"]},"objectStorageId":{"type":["string","null"]},"sha256":{"type":["string","null"]}},"examples":[{"destination":"/tmp/script-payload.zip","name":"script-payload.zip","objectStorageId":"5f0c00000000000000000031","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}]},"FormApiSecretsInfo":{"type":"object","properties":{"auth_type":{"description":"The type of authentication used for the integration. Supported options are: `ApiKey` and `UsernamePassword`.","allOf":[{"$ref":"#/components/schemas/AuthType"}]},"custom_entry_fields":{"description":"Additional fields for the integration, can be used for custom data. They should be in JSON format."},"provider":{"description":"The Workato provider for the integration, can be used to specify which provider this secret is for. This is optional and can be used to provide additional context.","type":["string","null"]},"secret":{"description":"The secret value for the integration. This is usually an API key.","type":["string","null"]}},"examples":[{"auth_type":"secrets_entry","secret":"API_KEY_OR_OTHER_SECRET"}],"required":["auth_type"]},"FullUserData":{"type":"object","properties":{"_id":{"type":["string","null"],"default":null},"account_locked":{"type":["boolean","null"]},"account_locked_date":{"type":["string","null"]},"activated":{"type":["boolean","null"]},"addresses":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Addresses"}},"allow_public_key":{"type":["boolean","null"]},"alternateEmail":{"type":["string","null"]},"attributes":{"type":["array","null"],"default":null,"items":{"$ref":"#/components/schemas/Attributes"}},"badLoginAttempts":{"type":["integer","null"],"format":"int64"},"company":{"type":["string","null"]},"costCenter":{"type":["string","null"]},"created":{"type":["string","null"]},"creationSource":{"type":["string","null"]},"department":{"type":["string","null"]},"description":{"type":["string","null"]},"disableDeviceMaxLoginAttempts":{"type":["boolean","null"]},"displayname":{"type":["string","null"]},"email":{"type":["string","null"]},"employeeIdentifier":{"type":["string","null"]},"employeeType":{"type":["string","null"]},"enable_managed_uid":{"type":["boolean","null"]},"enable_user_portal_multifactor":{"type":["boolean","null"]},"external_dn":{"type":["string","null"]},"external_password_expiration_date":{"type":["string","null"]},"external_source_type":{"type":["string","null"]},"externally_managed":{"type":["boolean","null"]},"firstname":{"type":["string","null"]},"jobTitle":{"type":["string","null"]},"lastname":{"type":["string","null"]},"ldap_binding_user":{"type":["boolean","null"]},"location":{"type":["string","null"]},"managedAppleId":{"type":["string","null"]},"manager":{"type":["string","null"]},"mfa":{"anyOf":[{"$ref":"#/components/schemas/Mfa"},{"type":"null"}]},"mfaEnrollment":{"anyOf":[{"$ref":"#/components/schemas/MfaEnrollment"},{"type":"null"}]},"middlename":{"type":["string","null"]},"organization":{"type":["string","null"]},"password_date":{"type":["string","null"]},"password_expiration_date":{"type":["string","null"]},"password_expired":{"type":["boolean","null"]},"password_never_expires":{"type":["boolean","null"]},"passwordless_sudo":{"type":["boolean","null"]},"phoneNumbers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PhoneNumbers"}},"public_key":{"type":["string","null"]},"recoveryEmail":{"anyOf":[{"$ref":"#/components/schemas/RecoveryEmail"},{"type":"null"}]},"relationships":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Relationships"}},"restrictedFields":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RestrictedFields"}},"samba_service_user":{"type":["boolean","null"]},"ssh_keys":{"type":["array","null"],"items":{"$ref":"#/components/schemas/SSHKeys"}},"state":{"type":["string","null"]},"sudo":{"type":["boolean","null"]},"suspended":{"type":["boolean","null"]},"tags":{"type":["array","null"],"items":{"type":"string"}},"totp_enabled":{"type":["boolean","null"]},"unix_guid":{"type":["integer","null"],"format":"int64"},"unix_uid":{"type":["integer","null"],"format":"int64"},"username":{"type":["string","null"]}},"examples":[{"_id":"6661646a3680784d29cba3f4","account_locked":false,"activated":true,"addresses":[],"allow_public_key":true,"attributes":[],"badLoginAttempts":0,"company":"Example","costCenter":"","created":"2024-06-06T07:25:30.298Z","department":"Engineering","description":"","disableDeviceMaxLoginAttempts":false,"displayname":"Sam Butler","email":"sam.butler@example.com","employeeType":"","enable_managed_uid":false,"enable_user_portal_multifactor":false,"externally_managed":false,"firstname":"Sam","jobTitle":"Software Engineer","lastname":"Butler","ldap_binding_user":false,"location":"Philippines","mfa":{"configured":false,"exclusion":false},"mfaEnrollment":{"overallStatus":"NOT_ENROLLED","pushStatus":"NOT_ENROLLED","totpStatus":"NOT_ENROLLED","webAuthnStatus":"NOT_ENROLLED"},"middlename":"","organization":"665970b710eb8310d68966dc","password_date":"2024-08-20T10:16:24.945Z","password_expiration_date":"2025-10-20T10:16:24.945Z","password_expired":false,"password_never_expires":false,"passwordless_sudo":false,"phoneNumbers":[],"restrictedFields":[],"samba_service_user":false,"ssh_keys":[],"state":"SUSPENDED","sudo":false,"suspended":true,"totp_enabled":false,"unix_guid":5034,"unix_uid":5034,"username":"sam.butler"}]},"Gender":{"description":"Contains the user's gender information. Maximum allowed data size is 1KB.","type":"object","properties":{"addressMeAs":{"description":"Proper way to refer to the profile owner, e.g. \"he/him/his\" or \"they/them/their\".","type":["string","null"]},"customGender":{"description":"Name of a custom gender.","type":["string","null"]},"type":{"description":"The type of gender. Allowed values: female, male, other, unknown.","type":["string","null"]}}},"GenericListResponse":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/Group"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse10":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/Schema"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse11":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/VerificationCode"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse12":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/User"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse13":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/UserAlias"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse14":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/Activity"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse15":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/LicenseAssignment"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse16":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/DataTransferApplication"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse2":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/GroupAlias"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse3":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/Member"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse4":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/Domain"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse5":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/OrgUnit"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse6":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/Privilege"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse7":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/Role"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse8":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/RoleAssignment"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GenericListResponse9":{"description":"A generic API response for list operations. The 'items' field is generic to support various types of list items and may also be represented with alternative field names.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"items":{"description":"List of items. May represent tokens, roles, or other resources.","type":["array","null"],"items":{"$ref":"#/components/schemas/Token"}},"kind":{"description":"The type of the API resource.","type":"string"},"nextPageToken":{"description":"Token used to access the next page of results.","type":["string","null"]},"triggerEvent":{"description":"Event that triggered this response (only used in case of Push Response).","type":["string","null"]}},"required":["kind","etag"]},"GetAppDiscoveryPaginatedQuery":{"description":"Paginated query parameters for the app discovery endpoint.","type":"object","properties":{"filter":{"description":"A filter to apply to the results, matched against the downstream app name.","type":["string","null"]},"page":{"description":"The page to retrieve, always starts at 0.","type":["integer","null"],"format":"int64"},"page_size":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":["integer","null"],"format":"int64"},"state":{"description":"An optional state filter. Valid states are: Pending, Snoozed, Dismissed, Added.","type":["string","null"]}}},"GetAppsQuery":{"type":"object","properties":{"filter":{"description":"A filter to apply to the results. Applied to the app name field.","type":["string","null"]},"page":{"description":"The page to retrieve, always starts at 0.","type":["integer","null"],"format":"int64"},"page_size":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":["integer","null"],"format":"int64"},"status":{"description":"Filter by status. Valid values: 'active' (default), 'archived', or 'all'. If omitted, defaults to 'active'.","type":["string","null"]}}},"GetCompositeGroupsQuery":{"type":"object","properties":{"filter":{"description":"A filter for the group name to apply to the results.","type":["string","null"]},"page":{"description":"The page to retrieve, always starts at 0.","type":["integer","null"],"format":"int64"},"page_size":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":["integer","null"],"format":"int64"},"visibility":{"description":"Limit the response to the type of group visibility. Valid entries are Apps, Groups, or All. ","type":"string"}},"required":["visibility"]},"GetExecutionsQuery":{"description":"Query parameters for retrieving execution history","type":"object","properties":{"limit":{"description":"Maximum number of executions to return (default: 50, max: 100)","type":"integer","format":"uint32","default":50,"minimum":0},"next_token":{"description":"Token for pagination (returned from previous request)","type":["string","null"]}}},"GetGroupSettingsQueryParams":{"description":"Query parameters for retrieving group settings.","type":"object","properties":{"alt":{"description":"The format of the response. Possible values are 'json' or 'atom'. Defaults to json.","anyOf":[{"$ref":"#/components/schemas/Alt"},{"type":"null"}]},"fields":{"description":"A comma-separated list of fields to include in the response.","type":["string","null"]},"prettyPrint":{"description":"PrettyPrint the response.","type":["boolean","null"]}},"examples":[{"alt":"json","fields":"name,description","prettyPrint":false}]},"GetPaginatedQuery":{"type":"object","properties":{"page":{"description":"The page to retrieve, always starts at 0.","type":["integer","null"],"format":"int64"},"page_size":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":["integer","null"],"format":"int64"}}},"GetPaginatedQueryWithFilter":{"type":"object","properties":{"filter":{"description":"A filter to apply to the results. These filters are usually applied to our backend to specific fields depending on the function of the endpoint.","type":["string","null"]},"page":{"description":"The page to retrieve, always starts at 0.","type":["integer","null"],"format":"int64"},"page_size":{"description":"The number of items to retrieve per page. Currently not limited, but may be in the future.","type":["integer","null"],"format":"int64"}}},"GetUserQueryParams":{"description":"Query parameters for retrieving a user. The request body must be empty.","type":"object","properties":{"customFieldMask":{"description":"A comma-separated list of schema names. All fields from these schemas are fetched. Should only be set when projection is CUSTOM.","type":["string","null"]},"projection":{"description":"What subset of fields to fetch for this user.","anyOf":[{"$ref":"#/components/schemas/Projection"},{"type":"null"}]},"viewType":{"description":"Whether to fetch the administrator-only or domain-wide public view of the user.","anyOf":[{"$ref":"#/components/schemas/ViewType"},{"type":"null"}]}},"examples":[{"customFieldMask":"customField1,customField2","projection":"CUSTOM","viewType":"ADMIN_VIEW"}]},"GoogleGroupMemberCounts":{"type":"object","properties":{"directExternalCount":{"type":"integer","format":"int64"},"directGroupCount":{"type":"integer","format":"int64"},"directMembersCount":{"type":"integer","format":"int64"},"directUserCount":{"type":"integer","format":"int64"},"totalUserCount":{"type":"integer","format":"int64"}},"required":["directMembersCount","directUserCount","directGroupCount","directExternalCount","totalUserCount"]},"GoogleUserDeletionJobResponse":{"description":"A Google user deletion job summary for the admin list view.","type":"object","properties":{"created_at":{"description":"When the job was created","type":"string","format":"date-time"},"error_message":{"description":"Error message if the job failed","type":["string","null"]},"failed_services":{"description":"List of services that failed to transfer, if applicable","type":["array","null"],"items":{"type":"string"}},"google_user_display_name":{"description":"Display name of the Google user being deleted","type":"string"},"google_user_email":{"description":"Email of the Google user being deleted","type":"string"},"id":{"description":"Job UUID","type":"string","format":"uuid"},"initiated_by_email":{"description":"Email of the admin who initiated the deletion","type":"string"},"initiated_by_name":{"description":"Name of the admin who initiated the deletion","type":"string"},"status":{"description":"Current job status: suspended, transfer_initiated, transfer_complete, pending_delete, deleted, or failed","type":"string"},"transfer_recipient_email":{"description":"Email of the transfer data recipient, if applicable","type":["string","null"]},"transfer_recipient_name":{"description":"Name of the transfer data recipient, if applicable","type":["string","null"]},"updated_at":{"description":"When the job was last updated","type":"string","format":"date-time"}},"required":["id","google_user_email","google_user_display_name","status","initiated_by_name","initiated_by_email","created_at","updated_at"]},"GoogleWorkspace":{"description":"Google Workspace","type":"object","properties":{"defaultDomain":{"anyOf":[{"$ref":"#/components/schemas/DefaultDomain"},{"type":"null"}]},"groupsEnabled":{"type":"boolean"},"id":{"type":"string"},"importFilter":{"type":"string"},"name":{"type":"string"},"userLockoutAction":{"type":"string"},"userPasswordExpirationAction":{"type":"string"}},"examples":[{"defaultDomain":{"id":"689e8c16b6c25100010fee69","name":"example.com"},"groupsEnabled":true,"id":"689e834fa27d340001ce10eb","importFilter":"","name":"Google Workspace","userLockoutAction":"maintain","userPasswordExpirationAction":"remove_access"}],"required":["id","name","userLockoutAction","userPasswordExpirationAction","importFilter","groupsEnabled"]},"GoogleWorkspaceDomain":{"description":"Google Workspace Domain","type":"object","properties":{"accountObjectId":{"type":"string"},"default":{"type":"boolean"},"domain":{"type":"string"},"objectId":{"type":"string"}},"examples":[{"accountObjectId":"689e834fa27d340001ce10eb","default":true,"domain":"example.com","objectId":"689e8c16b6c25100010fee69"}],"required":["objectId","accountObjectId","domain","default"]},"GraphAttributes":{"type":"object","additionalProperties":true},"GraphConnection":{"type":"object","properties":{"attributes":{"anyOf":[{"$ref":"#/components/schemas/GraphAttributes"},{"type":"null"}]},"from":{"anyOf":[{"$ref":"#/components/schemas/GraphObject"},{"type":"null"}]},"to":{"$ref":"#/components/schemas/GraphObject"}},"required":["to"]},"GraphObject":{"type":"object","properties":{"attributes":{"anyOf":[{"$ref":"#/components/schemas/GraphAttributes"},{"type":"null"}]},"id":{"type":"string"},"type":{"$ref":"#/components/schemas/GraphType"}},"required":["id","type"]},"GraphObjectWithPaths":{"type":"object","properties":{"compiledAttributes":{"anyOf":[{"$ref":"#/components/schemas/GraphAttributes"},{"type":"null"}]},"id":{"type":"string"},"paths":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/GraphConnection"}}},"type":{"$ref":"#/components/schemas/GraphType"}},"required":["id","paths","type"]},"GraphOperation":{"type":"object","properties":{"attributes":{"anyOf":[{"$ref":"#/components/schemas/GraphAttributes"},{"type":"null"}]},"id":{"type":"string"},"op":{"type":"string"},"type":{"type":"string"}},"examples":[{"id":"665975c3cc8cee1a6abedfaa","op":"include","type":"USER"}],"required":["id","op","type"]},"GraphType":{"type":"string","enum":["activeDirectory","application","command","gSuite","ldapServer","office365","policy","policyGroup","radiusServer","system","systemGroup","user","userGroup"]},"Group":{"description":"Google Groups resource representing a group in the Admin API. For more information about common tasks, see the Developer's Guide.","type":"object","properties":{"adminCreated":{"description":"Read-only. Value is true if this group was created by an administrator rather than a user.","type":"boolean"},"aliases":{"description":"Read-only. The list of a group's alias email addresses.","type":["array","null"],"items":{"type":"string"}},"description":{"description":"An extended description to help users determine the purpose of a group. Maximum length is 4,096 characters.","type":"string"},"directMembersCount":{"description":"The number of users that are direct members of the group. If a group is a member (child) of this group, members of the child group are not counted here.","type":["string","null"]},"email":{"description":"The group's email address.","type":"string"},"etag":{"description":"ETag of the resource.","type":"string"},"id":{"description":"Read-only. The unique ID of a group. A group id can be used as a group request URI's groupKey.","type":"string"},"kind":{"description":"The type of the API resource. For Groups resources, the value is admin#directory#group.","type":"string"},"name":{"description":"The group's display name.","type":"string"},"nonEditableAliases":{"description":"Read-only. The list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains.","type":["array","null"],"items":{"type":"string"}}},"required":["id","email","name","description","adminCreated","kind","etag"]},"Group2":{"description":"A JumpCloud group.","type":"object","properties":{"attributes":{"anyOf":[{"$ref":"#/components/schemas/GraphAttributes"},{"type":"null"}]},"description":{"type":["string","null"]},"email":{"type":["string","null"]},"id":{"type":"string"},"memberQuery":{"anyOf":[{"$ref":"#/components/schemas/MemberQuery"},{"type":"null"}]},"memberQueryExemptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GraphObject"}},"memberSuggestionsNotify":{"type":["boolean","null"]},"membershipMethod":{"type":["string","null"]},"name":{"type":"string"},"organizationObjectId":{"type":["string","null"]},"suggestionCounts":{"anyOf":[{"$ref":"#/components/schemas/SuggestionCounts"},{"type":"null"}]},"type":{"type":["string","null"]}},"examples":[{"description":"All Berlin users","email":"","id":"687e33c17fd5c90001fd561a","name":"Berlin Users","organizationObjectId":"664447f4ccaf6688635134b3","type":"user_group"}],"required":["id","name"]},"GroupAlias":{"description":"Resource: GroupAlias\nThe Directory API manages aliases, which are alternative email addresses.","type":"object","properties":{"alias":{"description":"The alias email address.","type":"string"},"etag":{"description":"ETag of the resource.","type":["string","null"]},"id":{"description":"The unique ID of the group.","type":["string","null"]},"kind":{"description":"The type of the API resource. For Alias resources, the value is admin#directory#alias.","type":["string","null"]},"primaryEmail":{"description":"The primary email address of the group.","type":["string","null"]}},"examples":[{"alias":"alias@example.com","etag":"\"etag_alias\"","id":"alias_id","kind":"admin#directory#alias","primaryEmail":"group@example.com"}],"required":["alias"]},"GroupAppCountMap":{"description":"Map of Group IDs to app counts","type":"object","additionalProperties":{"type":"integer","format":"int64"},"examples":[{"665970c1b986ab3a69ccda1d":5,"66597a88b986ab3a69d15376":37,"665bf39d71ebc600018195a4":150,"666a96251292ff856bf7cba7":25,"667b58c864896865aedf0e1f":42}]},"GroupApplicationsMap":{"description":"Map of group IDs to applications","type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/GraphObjectWithPaths"}},"examples":[{"665970b72c529d00012e51ca":[{"compiledAttributes":null,"id":"665970c1b986ab3a69ccda1d","paths":[[{"attributes":null,"to":{"id":"665970c1b986ab3a69ccda1d","type":"application"}}]],"type":"application"},{"compiledAttributes":null,"id":"66a1bcb7c1ad866af1ac0b99","paths":[[{"attributes":null,"to":{"id":"66a1bcb7c1ad866af1ac0b99","type":"application"}}]],"type":"application"}],"665970be8cb1da000144e2a1":[{"compiledAttributes":null,"id":"665970c1b986ab3a69ccda1d","paths":[[{"attributes":null,"to":{"id":"665970c1b986ab3a69ccda1d","type":"application"}}]],"type":"application"}]}]},"GroupGlobalTag":{"description":"A global tag definition that can be applied across organizations.","type":"object","properties":{"color_hex":{"type":["string","null"]},"created_at":{"type":"string","format":"partial-date-time"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_mandatory":{"type":"boolean"},"name":{"type":"string"},"purpose_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"color_hex":"#008236","created_at":"2024-09-11T09:54:38.116430","description":"Official departments and teams within the org","id":"11111111-1111-4111-8111-111111111111","is_mandatory":true,"name":"Department","purpose_id":"d6c2e4b0-4e0a-4d3e-9d2a-3f2e0b3d5a10","updated_at":"2025-01-31T04:36:29.466306"}],"required":["id","purpose_id","name","is_mandatory","created_at","updated_at"]},"GroupMembership":{"description":"A user's membership in a composite group.","type":"object","properties":{"composite_group_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"partial-date-time"},"membership_id":{"type":"string","format":"uuid"},"org_id":{"type":"string","format":"uuid"},"primary_resolved":{"description":"Whether this membership was resolved from the primary directory's member list (e.g. JumpCloud Scenario 1 mirror materialization). Only true for STATIC rows on mirror composite groups that originated from primary-directory-resolved user IDs.","type":"boolean"},"rule_type":{"type":"string"},"updated_at":{"type":"string","format":"partial-date-time"},"user_id":{"type":"string"}},"examples":[{"composite_group_id":"0194d00b-75c5-7931-b02e-cf75ba09850a","created_at":"2025-02-04T08:32:13.440925","membership_id":"0194d016-a880-7cc3-ade0-277e8d3e0bd3","org_id":"3756d031-835e-45f5-a709-82ec7335957f","primary_resolved":false,"rule_type":"STATIC","updated_at":"2025-02-04T08:32:13.440925","user_id":"66597a8ba55ddf17af15d0d7"}],"required":["membership_id","user_id","composite_group_id","org_id","created_at","updated_at","rule_type","primary_resolved"]},"GroupSettings":{"description":"A Groups Settings resource includes metadata with a summary of a specified group's settings.","type":"object","properties":{"allowExternalMembers":{"description":"Identifies whether members external to your organization can join the group.\ntrue: Google Workspace users external to your organization can become members of this group.\nfalse: Users not belonging to the organization are not allowed to become members of this group.","type":"boolean"},"allowGoogleCommunication":{"description":"Deprecated. Allows Google to contact administrator of the group.\ntrue: Allow Google to contact managers of this group. Occasionally Google may send updates on the latest features, ask for input on new features, or ask for permission to highlight your group.\nfalse: Google can not contact managers of this group.","type":"boolean"},"allowWebPosting":{"description":"Allows posting from the web.\ntrue: Allows any member to post to the group forum.\nfalse: Members only use Gmail to communicate with the group.","type":"boolean"},"archiveOnly":{"description":"Allows the group to be archived only.\ntrue: Group is archived and the group is inactive. New messages to this group are rejected. The older archived messages are browseable and searchable. If true, the whoCanPostMessage property is set to NONE_CAN_POST. If reverted from true to false, whoCanPostMessages is set to ALL_MANAGERS_CAN_POST.\nfalse: The group is active and can receive messages. When false, updating whoCanPostMessage to NONE_CAN_POST, results in an error.","type":"boolean"},"customFooterText":{"description":"Set the content of custom footer text. Maximum size is 1,000 characters.","type":"string"},"customReplyTo":{"description":"An email address used when replying to a message if the replyTo property is set to REPLY_TO_CUSTOM.","type":["string","null"]},"customRolesEnabledForSettingsToBeMerged":{"description":"Specifies whether the group has a custom role that's included in one of the settings being merged. This field is read-only and UPDATE and PATCH requests to it are ignored. ","type":"boolean"},"defaultMessageDenyNotificationText":{"description":"Text for the rejection notification sent to the message's author. Maximum size is 10,000 characters.","type":"string"},"defaultSender":{"description":"Default sender for members who can post messages as the group.","allOf":[{"$ref":"#/components/schemas/DefaultSender"}]},"description":{"description":"Description of the group. Maximum size is 4,096 characters.","type":"string"},"email":{"description":"The group's email address.","type":"string"},"enableCollaborativeInbox":{"description":"Specifies whether a collaborative inbox will remain turned on for the group.","type":"boolean"},"favoriteRepliesOnTop":{"description":"Indicates if favorite replies should be displayed before other replies.\ntrue: Favorite replies are displayed before other replies.\nfalse: Favorite replies aren't displayed before other replies.","type":"boolean"},"includeCustomFooter":{"description":"Whether to include custom footer.","type":"boolean"},"includeInGlobalAddressList":{"description":"Enables the group to be included in the Global Address List.\ntrue: Group is included in the Global Address List.\nfalse: Group is not included in the Global Address List.","type":"boolean"},"isArchived":{"description":"Allows the Group contents to be archived.\ntrue: Archive messages sent to the group.\nfalse: Do not keep an archive of messages sent to this group. If false, previously archived messages remain in the archive.","type":"boolean"},"kind":{"description":"The type of the resource. It is always groupsSettings#groups.","type":"string"},"maxMessageBytes":{"description":"Deprecated. The maximum size of a message is 25Mb (26214400bytes).","type":"integer","format":"int64"},"membersCanPostAsTheGroup":{"description":"Enables members to post messages as the group.\ntrue: Group member can post messages using the group's email address instead of their own email address. Message appear to originate from the group itself.\nfalse: Members can not post in behalf of the group's email address.","type":"boolean"},"messageDisplayFont":{"description":"Deprecated. The default message display font always has a value of DEFAULT_FONT.","type":"string"},"messageModerationLevel":{"description":"Moderation level of incoming messages.","allOf":[{"$ref":"#/components/schemas/MessageModerationLevel"}]},"name":{"description":"Name of the group, which has a maximum size of 75 characters.","type":"string"},"primaryLanguage":{"description":"The primary language for the group. See the supported languages here: https://developers.google.com/workspace/admin/groups-settings/v1/reference/groups#supported-languages","type":["string","null"]},"replyTo":{"description":"Specifies who receives the default reply.","allOf":[{"$ref":"#/components/schemas/ReplyTo"}]},"sendMessageDenyNotification":{"description":"Allows a member to be notified if the member's message to the group is denied by the group owner.\ntrue: When a message is rejected, send the deny message notification to the message author. The defaultMessageDenyNotificationText property is dependent on the sendMessageDenyNotification property being true.\nfalse: When a message is rejected, no notification is sent.","type":"boolean"},"showInGroupDirectory":{"description":"Deprecated. This is merged into the whoCanDiscoverGroup setting. Allows the group to be visible in the Groups Directory. \ntrue: All groups in the account are listed in the Groups directory.\nfalse: All groups in the account are not listed in the directory.","type":"boolean"},"spamModerationLevel":{"description":"Specifies moderation levels for messages detected as spam.","allOf":[{"$ref":"#/components/schemas/SpamModerationLevel"}]},"whoCanAdd":{"description":"Deprecated. This is merged into the whoCanModerateMembers setting. Permissions to add members.","anyOf":[{"$ref":"#/components/schemas/WhoCanAdd"},{"type":"null"}]},"whoCanAddReferences":{"description":"Deprecated. This functionality is no longer supported in the Google Groups UI. The value is always \"NONE\".","type":"string"},"whoCanApproveMembers":{"description":"Specifies who can approve members who ask to join groups. This permission will be deprecated once it is merged into the whoCanModerateMembers setting.","allOf":[{"$ref":"#/components/schemas/WhoCanApproveMembers"}]},"whoCanApproveMessages":{"description":"Deprecated. This is merged into the whoCanModerateContent setting. Specifies who can approve pending messages in the moderation queue.","allOf":[{"$ref":"#/components/schemas/WhoCanModerateContent"}]},"whoCanAssignTopics":{"description":"Deprecated. This is merged into the whoCanAssistContent setting. Permission to assign topics in a forum to another user.","allOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"}]},"whoCanAssistContent":{"description":"Specifies who can moderate metadata.","allOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"}]},"whoCanBanUsers":{"description":"Specifies who can deny membership to users. This permission will be deprecated once it is merged into the whoCanModerateMembers setting.","allOf":[{"$ref":"#/components/schemas/WhoCanModerateMembers"}]},"whoCanContactOwner":{"description":"Permission to contact owner of the group via web UI.","allOf":[{"$ref":"#/components/schemas/WhoCanContactOwner"}]},"whoCanDeleteAnyPost":{"description":"Deprecated. This is merged into the whoCanModerateContent setting. Specifies who can delete replies to topics. (Authors can always delete their own posts).","allOf":[{"$ref":"#/components/schemas/WhoCanModerateContent"}]},"whoCanDeleteTopics":{"description":"Deprecated. This is merged into the whoCanModerateContent setting. Specifies who can delete topics. ","allOf":[{"$ref":"#/components/schemas/WhoCanModerateContent"}]},"whoCanDiscoverGroup":{"description":"Specifies the set of users for whom this group is discoverable.","allOf":[{"$ref":"#/components/schemas/WhoCanDiscoverGroup"}]},"whoCanEnterFreeFormTags":{"description":"Deprecated. This is merged into the whoCanAssistContent setting. Permission to enter free form tags for topics in a forum.","allOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"}]},"whoCanHideAbuse":{"description":"Deprecated. This is merged into the whoCanModerateContent setting. Specifies who can hide posts by reporting them as abuse. ","allOf":[{"$ref":"#/components/schemas/WhoCanModerateContent"}]},"whoCanInvite":{"description":"Permissions to invite new members.","anyOf":[{"$ref":"#/components/schemas/WhoCanInvite"},{"type":"null"}]},"whoCanJoin":{"description":"Permission to join group.","allOf":[{"$ref":"#/components/schemas/WhoCanJoin"}]},"whoCanLeaveGroup":{"description":"Permission to leave the group.","allOf":[{"$ref":"#/components/schemas/WhoCanLeaveGroup"}]},"whoCanLockTopics":{"description":"Deprecated. This is merged into the whoCanModerateContent setting. Specifies who can prevent users from posting replies to topics.","allOf":[{"$ref":"#/components/schemas/WhoCanModerateContent"}]},"whoCanMakeTopicsSticky":{"description":"Deprecated. This is merged into the whoCanModerateContent setting. Specifies who can make topics appear at the top of the topic list.","allOf":[{"$ref":"#/components/schemas/WhoCanModerateContent"}]},"whoCanMarkDuplicate":{"description":"Deprecated. This is merged into the whoCanAssistContent setting. Permission to mark a topic as a duplicate of another topic.","allOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"}]},"whoCanMarkFavoriteReplyOnAnyTopic":{"description":"Deprecated. This is merged into the whoCanAssistContent setting. Permission to mark any other user's post as a favorite reply.","allOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"}]},"whoCanMarkFavoriteReplyOnOwnTopic":{"description":"Deprecated. This is merged into the whoCanAssistContent setting. Permission to mark a post for a topic they started as a favorite reply.","allOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"}]},"whoCanMarkNoResponseNeeded":{"description":"Deprecated. This is merged into the whoCanAssistContent setting. Permission to mark a topic as not needing a response.","allOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"}]},"whoCanModerateContent":{"description":"Specifies who can moderate content.","allOf":[{"$ref":"#/components/schemas/WhoCanModerateContent"}]},"whoCanModerateMembers":{"description":"Specifies who can manage members.","allOf":[{"$ref":"#/components/schemas/WhoCanModerateMembers"}]},"whoCanModifyMembers":{"description":"Deprecated. This is merged into the whoCanModerateMembers setting. Specifies who can change group members' roles.","allOf":[{"$ref":"#/components/schemas/WhoCanModerateMembers"}]},"whoCanModifyTagsAndCategories":{"description":"Deprecated. This is merged into the whoCanAssistContent setting. Permission to change tags and categories.","allOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"}]},"whoCanMoveTopicsIn":{"description":"Deprecated. This is merged into the whoCanModerateContent setting. Specifies who can move topics into the group or forum.","allOf":[{"$ref":"#/components/schemas/WhoCanModerateContent"}]},"whoCanMoveTopicsOut":{"description":"Deprecated. This is merged into the whoCanModerateContent setting. Specifies who can move topics out of the group or forum.","allOf":[{"$ref":"#/components/schemas/WhoCanModerateContent"}]},"whoCanPostAnnouncements":{"description":"Deprecated. This is merged into the whoCanModerateContent setting. Specifies who can post announcements, a special topic type.","allOf":[{"$ref":"#/components/schemas/WhoCanModerateContent"}]},"whoCanPostMessage":{"description":"Permissions to post messages.","allOf":[{"$ref":"#/components/schemas/WhoCanPostMessage"}]},"whoCanTakeTopics":{"description":"Deprecated. This is merged into the whoCanAssistContent setting. Permission to take topics in a forum.","allOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"}]},"whoCanUnassignTopic":{"description":"Deprecated. This is merged into the whoCanAssistContent setting. Permission to unassign any topic in a forum.","allOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"}]},"whoCanUnmarkFavoriteReplyOnAnyTopic":{"description":"Deprecated. This is merged into the whoCanAssistContent setting. Permission to unmark any post from a favorite reply.","allOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"}]},"whoCanViewGroup":{"description":"Permissions to view group messages.","allOf":[{"$ref":"#/components/schemas/WhoCanViewGroup"}]},"whoCanViewMembership":{"description":"Permissions to view membership.","allOf":[{"$ref":"#/components/schemas/WhoCanViewMembership"}]}},"examples":[{"allowExternalMembers":"false","allowGoogleCommunication":"false","allowWebPosting":"true","archiveOnly":"false","customFooterText":"","customReplyTo":null,"customRolesEnabledForSettingsToBeMerged":"false","defaultMessageDenyNotificationText":"","defaultSender":"DEFAULT_SELF","description":"An Example Group.","email":"group@example.com","enableCollaborativeInbox":"false","favoriteRepliesOnTop":"true","includeCustomFooter":"false","includeInGlobalAddressList":"true","isArchived":"false","kind":"groupsSettings#groups","maxMessageBytes":26214400,"membersCanPostAsTheGroup":"false","messageDisplayFont":"DEFAULT_FONT","messageModerationLevel":"MODERATE_NONE","name":"Example Group","primaryLanguage":"en_US","replyTo":"REPLY_TO_IGNORE","sendMessageDenyNotification":"false","showInGroupDirectory":"false","spamModerationLevel":"ALLOW","whoCanAdd":"NONE_CAN_ADD","whoCanAddReferences":"NONE","whoCanApproveMembers":"NONE_CAN_APPROVE","whoCanApproveMessages":"OWNERS_AND_MANAGERS","whoCanAssignTopics":"OWNERS_AND_MANAGERS","whoCanAssistContent":"OWNERS_AND_MANAGERS","whoCanBanUsers":"OWNERS_AND_MANAGERS","whoCanContactOwner":"ANYONE_CAN_CONTACT","whoCanDeleteAnyPost":"OWNERS_AND_MANAGERS","whoCanDeleteTopics":"OWNERS_AND_MANAGERS","whoCanDiscoverGroup":"ALL_IN_DOMAIN_CAN_DISCOVER","whoCanEnterFreeFormTags":"OWNERS_AND_MANAGERS","whoCanHideAbuse":"OWNERS_AND_MANAGERS","whoCanInvite":"NONE_CAN_INVITE","whoCanJoin":"INVITED_CAN_JOIN","whoCanLeaveGroup":"NONE_CAN_LEAVE","whoCanLockTopics":"OWNERS_AND_MANAGERS","whoCanMakeTopicsSticky":"OWNERS_AND_MANAGERS","whoCanMarkDuplicate":"OWNERS_AND_MANAGERS","whoCanMarkFavoriteReplyOnAnyTopic":"OWNERS_AND_MANAGERS","whoCanMarkFavoriteReplyOnOwnTopic":"NONE","whoCanMarkNoResponseNeeded":"OWNERS_AND_MANAGERS","whoCanModerateContent":"OWNERS_AND_MANAGERS","whoCanModerateMembers":"NONE","whoCanModifyMembers":"OWNERS_AND_MANAGERS","whoCanModifyTagsAndCategories":"OWNERS_AND_MANAGERS","whoCanMoveTopicsIn":"OWNERS_AND_MANAGERS","whoCanMoveTopicsOut":"OWNERS_AND_MANAGERS","whoCanPostAnnouncements":"OWNERS_AND_MANAGERS","whoCanPostMessage":"ANYONE_CAN_POST","whoCanTakeTopics":"OWNERS_AND_MANAGERS","whoCanUnassignTopic":"OWNERS_AND_MANAGERS","whoCanUnmarkFavoriteReplyOnAnyTopic":"OWNERS_AND_MANAGERS","whoCanViewGroup":"ALL_MEMBERS_CAN_VIEW","whoCanViewMembership":"ALL_IN_DOMAIN_CAN_VIEW"}],"required":["kind","email","name","description","whoCanJoin","whoCanViewMembership","whoCanViewGroup","allowExternalMembers","whoCanPostMessage","allowWebPosting","maxMessageBytes","isArchived","archiveOnly","messageModerationLevel","spamModerationLevel","replyTo","includeCustomFooter","customFooterText","sendMessageDenyNotification","defaultMessageDenyNotificationText","showInGroupDirectory","allowGoogleCommunication","membersCanPostAsTheGroup","messageDisplayFont","includeInGlobalAddressList","whoCanLeaveGroup","whoCanContactOwner","whoCanAddReferences","whoCanAssignTopics","whoCanUnassignTopic","whoCanTakeTopics","whoCanMarkDuplicate","whoCanMarkNoResponseNeeded","whoCanMarkFavoriteReplyOnAnyTopic","whoCanMarkFavoriteReplyOnOwnTopic","whoCanUnmarkFavoriteReplyOnAnyTopic","whoCanEnterFreeFormTags","whoCanModifyTagsAndCategories","favoriteRepliesOnTop","whoCanApproveMembers","whoCanBanUsers","whoCanModifyMembers","whoCanApproveMessages","whoCanDeleteAnyPost","whoCanDeleteTopics","whoCanLockTopics","whoCanMoveTopicsIn","whoCanMoveTopicsOut","whoCanPostAnnouncements","whoCanHideAbuse","whoCanMakeTopicsSticky","whoCanModerateMembers","whoCanModerateContent","whoCanAssistContent","customRolesEnabledForSettingsToBeMerged","enableCollaborativeInbox","whoCanDiscoverGroup","defaultSender"]},"GroupTag":{"description":"An organization-scoped tag that can be assigned to groups within an org. It may reference a global tag template via global_tag_id.","type":"object","properties":{"color_hex":{"type":["string","null"]},"created_at":{"type":"string","format":"partial-date-time"},"description":{"type":["string","null"]},"global_tag_id":{"type":["string","null"],"format":"uuid"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"org_id":{"type":"string","format":"uuid"},"purpose_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"color_hex":"#008236","created_at":"2024-09-11T09:54:38.116430","description":"Official departments and teams within the org","global_tag_id":"11111111-1111-4111-8111-111111111111","id":"33333333-3333-4333-8333-333333333333","name":"Department","org_id":"3756d031-835e-45f5-a709-82ec7335957f","purpose_id":"d6c2e4b0-4e0a-4d3e-9d2a-3f2e0b3d5a10","updated_at":"2025-01-31T04:36:29.466306"}],"required":["id","org_id","purpose_id","name","created_at","updated_at"]},"GroupTagPurpose":{"description":"Defines a purpose/category for group tags.","type":"object","properties":{"created_at":{"type":"string","format":"partial-date-time"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"created_at":"2024-09-11T09:54:38.116430","description":"Official departments and teams within the org","id":"d6c2e4b0-4e0a-4d3e-9d2a-3f2e0b3d5a10","key":"department","updated_at":"2025-01-31T04:36:29.466306"}],"required":["id","key","created_at","updated_at"]},"GroupUsersCountMap":{"description":"Map of Group IDs to user counts","type":"object","additionalProperties":{"type":"integer","format":"int64"},"examples":[{"665970c1b986ab3a69ccda1d":5,"66597a88b986ab3a69d15376":37,"665bf39d71ebc600018195a4":150,"666a96251292ff856bf7cba7":25,"667b58c864896865aedf0e1f":42}]},"GroupUsersMap":{"description":"Map of group IDs to users","type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/FullUserData"}},"examples":[{"665970b72c529d00012e51ca":[{"_id":"665970bc72c298d6cafc59bf","account_locked":false,"activated":true,"allow_public_key":true,"disableDeviceMaxLoginAttempts":false,"email":"dan@shiftcontrol.io","enable_managed_uid":false,"enable_user_portal_multifactor":false,"externally_managed":false,"firstname":"Dan","lastname":"Gericke","ldap_binding_user":false,"mfa":{"configured":false,"exclusion":false},"mfaEnrollment":{"overallStatus":"ENROLLED","pushStatus":"NOT_ENROLLED","totpStatus":"NOT_ENROLLED","webAuthnStatus":"ENROLLED"},"password_expired":false,"passwordless_sudo":false,"restrictedFields":[],"samba_service_user":false,"state":"ACTIVATED","sudo":false,"suspended":false,"totp_enabled":false,"unix_guid":5001,"unix_uid":5001,"username":"dan.gericke"}],"66597b24eaa1e300016bcd55":[{"_id":"665970bc72c298d6cafc59bf","account_locked":false,"activated":true,"allow_public_key":true,"disableDeviceMaxLoginAttempts":false,"email":"dan@shiftcontrol.io","enable_managed_uid":false,"enable_user_portal_multifactor":false,"externally_managed":false,"firstname":"Dan","lastname":"Gericke","ldap_binding_user":false,"mfa":{"configured":false,"exclusion":false},"mfaEnrollment":{"overallStatus":"ENROLLED","pushStatus":"NOT_ENROLLED","totpStatus":"NOT_ENROLLED","webAuthnStatus":"ENROLLED"},"password_expired":false,"passwordless_sudo":false,"restrictedFields":[],"samba_service_user":false,"state":"ACTIVATED","sudo":false,"suspended":false,"totp_enabled":false,"unix_guid":5001,"unix_uid":5001,"username":"dan.gericke"}]}]},"GrowthData":{"description":"Growth Data","type":"object","properties":{"experimentStates":true,"onboardingState":true},"examples":[{"experimentStates":{"example":"state"},"onboardingState":{"checklistExpandedIndex":0}}]},"HealthStatus":{"description":"Health rating: ok, warn, or critical — or unknown when the device reported no data for this signal.","type":"string","enum":["ok","warn","critical","unknown"]},"HistoryAction":{"description":"Wrapper type for the `work_item_history_action` Postgres enum.\nAllows using `String` in the struct while Diesel handles the custom SQL type.\n\nOn read, validates the value against `KNOWN_VARIANTS` and emits a structured\n`tracing::warn!` (with `unknown_pg_enum_value = true`) for unknown values\nwithout breaking the read. This protects rolling deploys where the DB schema\nis briefly ahead of the app code.","type":"string"},"IdentityOrgMembership":{"description":"Organization membership entry.","type":"object","properties":{"org_id":{"type":"string"},"org_name":{"type":"string"}},"examples":[{"org_id":"3756d031-835e-45f5-a709-82ec7335957f","org_name":"Acme Corp"}],"required":["org_id","org_name"]},"IdentityResponse":{"description":"The identity response returned by the `/api/identity/me` endpoint.\nFields are populated based on the auth method used.","type":"object","properties":{"auth_method":{"description":"Which auth method was used: \"jwt\", \"personal_api_key\", or \"org_api_key\"","type":"string"},"metadata":{"description":"Key metadata — present for \"personal_api_key\" and \"org_api_key\""},"orgs":{"description":"Organizations the caller belongs to — always present, may be empty","type":"array","items":{"$ref":"#/components/schemas/IdentityOrgMembership"}},"user":{"description":"Present when auth_method is \"jwt\" or \"personal_api_key\"","anyOf":[{"$ref":"#/components/schemas/IdentityUser"},{"type":"null"}]}},"examples":[{"auth_method":"jwt","metadata":null,"orgs":[{"org_id":"3756d031-835e-45f5-a709-82ec7335957f","org_name":"Acme Corp"}],"user":{"email":"sam.butler@example.com","first_name":"Sam","last_name":"Butler","user_id":"23b90422-3366-4f3b-aedb-81aef6d0931c"}}],"required":["auth_method","orgs"]},"IdentityUser":{"description":"User identity information extracted from the auth context.","type":"object","properties":{"email":{"type":"string"},"first_name":{"type":["string","null"]},"last_name":{"type":["string","null"]},"user_id":{"type":"string"}},"examples":[{"email":"sam.butler@example.com","first_name":"Sam","last_name":"Butler","user_id":"23b90422-3366-4f3b-aedb-81aef6d0931c"}],"required":["user_id","email"]},"IdpCredential":{"description":"Represents a credential for verifying signatures produced by the Identity Provider.","type":"object","properties":{"name":{"description":"Resource name of the credential. (Output only)","type":"string"},"updateTime":{"description":"Time when the IdpCredential was last updated. (Output only)","type":"string"}},"anyOf":[{"oneOf":[{"description":"Information of a RSA public key.","type":"object","properties":{"type":{"type":"string","const":"rsaKeyInfo"}},"allOf":[{"$ref":"#/components/schemas/RsaPublicKeyInfo"}],"required":["type"]},{"description":"Information of a DSA public key.","type":"object","properties":{"type":{"type":"string","const":"dsaKeyInfo"}},"allOf":[{"$ref":"#/components/schemas/DsaPublicKeyInfo"}],"required":["type"]}]},{}],"examples":[{"keySize":2048,"name":"idpCredentials/example","type":"rsaKeyInfo","updateTime":"2023-01-01T00:00:00Z"}],"required":["name","updateTime"]},"Im":{"description":"Represents an instant messenger account for the user.","type":"object","properties":{"customProtocol":{"description":"If the protocol is custom_protocol, this holds the custom protocol's string.","type":["string","null"]},"customType":{"description":"If the IM type is custom, this property contains the custom value and must be set.","type":["string","null"]},"im":{"description":"The user's IM network ID.","type":["string","null"]},"primary":{"description":"If true, this is the user's primary IM. Only one primary allowed.","type":["boolean","null"]},"protocol":{"description":"An IM protocol. Allowed values: aim, custom_protocol, gtalk, icq, jabber, msn, net_meeting, qq, skype, yahoo.","type":["string","null"]},"type":{"description":"The type of IM account. Allowed values: custom, home, other, work.","type":["string","null"]}}},"InboundSamlSsoProfile":{"description":"A SAML 2.0 federation between a Google enterprise customer and a SAML identity provider.","type":"object","properties":{"customer":{"description":"Immutable. The customer. For example: customers/C0123abc.","type":"string"},"displayName":{"description":"Human-readable name of the SAML SSO profile.","type":"string"},"idpConfig":{"description":"SAML identity provider configuration.","allOf":[{"$ref":"#/components/schemas/SamlIdpConfig"}]},"name":{"description":"Resource name of the SAML SSO profile. (Output only)","type":["string","null"]},"spConfig":{"description":"SAML service provider configuration for this SAML SSO profile.","allOf":[{"$ref":"#/components/schemas/SamlSpConfig"}]}},"examples":[{"customer":"customers/C0123abc","displayName":"Example SAML SSO Profile","idpConfig":{"changePasswordUri":"https://idp.example.com/change-password","entityId":"https://idp.example.com/entity","logoutRedirectUri":"https://idp.example.com/logout","singleSignOnServiceUri":"https://idp.example.com/sso"},"name":"testProfileName","spConfig":{"assertionConsumerServiceUri":"https://sp.example.com/acs","entityId":"https://sp.example.com/entity"}}],"required":["customer","displayName","idpConfig","spConfig"]},"InboundSamlSsoProfilesListResponse":{"description":"Response of the InboundSamlSsoProfilesService.ListInboundSamlSsoProfiles method.","type":"object","properties":{"inboundSamlSsoProfiles":{"description":"The assignments.","type":["array","null"],"items":{"$ref":"#/components/schemas/InboundSamlSsoProfile"}},"nextPageToken":{"description":"A token to retrieve the next page. If omitted, there are no subsequent pages.","type":["string","null"]}},"examples":[{"inboundSamlSsoProfiles":[{"customer":"customers/C0123abc","displayName":"Example SAML SSO Profile","idpConfig":{"changePasswordUri":"https://idp.example.com/change-password","entityId":"https://idp.example.com/entity","logoutRedirectUri":"https://idp.example.com/logout","singleSignOnServiceUri":"https://idp.example.com/sso"},"name":"testProfileName","spConfig":{"assertionConsumerServiceUri":"https://sp.example.com/acs","entityId":"https://sp.example.com/entity"}}],"nextPageToken":"nextPageTokenExample"}]},"InboundSsoAssignment":{"description":"Represents an Inbound SSO Assignment in the Google Workspace Admin API.","type":"object","properties":{"customer":{"description":"Immutable. The customer. For example: customers/C0123abc.","type":"string"},"name":{"description":"Resource name of the Inbound SSO Assignment. (Output only)","type":["string","null"]},"rank":{"description":"Must be zero for assignments with targetOrgUnit set and must be >= 1 for assignments with targetGroup set.","type":["integer","null"],"format":"int32"},"samlSsoInfo":{"description":"SAML SSO details. Must be set if and only if ssoMode is set to SAML_SSO.","anyOf":[{"$ref":"#/components/schemas/SamlSsoInfo"},{"type":"null"}]},"signInBehavior":{"description":"Controls whether/when Google should redirect a user to the IdP.","anyOf":[{"$ref":"#/components/schemas/SignInBehavior"},{"type":"null"}]},"ssoMode":{"description":"Inbound SSO behavior.","allOf":[{"$ref":"#/components/schemas/SsoMode"}]}},"examples":[{"customer":"customers/C0123abc","name":"inboundSsoAssignments/123","rank":1,"samlSsoInfo":{"inboundSamlSsoProfile":"inboundSamlSsoProfiles/123"},"signInBehavior":{"redirectCondition":"REDIRECT_CONDITION_UNSPECIFIED"},"ssoMode":"SAML_SSO","targetType":"targetGroup","target_group":"groups/123"}],"oneOf":[{"description":"Immutable. Must be of the form groups/{group}.","type":"object","properties":{"targetType":{"type":"string","const":"targetGroup"},"target_group":{"type":"string"}},"required":["targetType","target_group"]},{"description":"Immutable. Must be of the form orgUnits/{orgUnit}.","type":"object","properties":{"targetType":{"type":"string","const":"targetOrgUnit"},"target_org_unit":{"type":"string"}},"required":["targetType","target_org_unit"]}],"required":["customer","ssoMode"]},"InboundSsoAssignmentListResponse":{"description":"Response of the InboundSsoAssignmentsService.ListInboundSsoAssignments method.","type":"object","properties":{"inboundSsoAssignments":{"description":"The assignments.","type":["array","null"],"items":{"$ref":"#/components/schemas/InboundSsoAssignment"}},"nextPageToken":{"description":"A token to retrieve the next page. If omitted, there are no subsequent pages.","type":["string","null"]}},"examples":[{"inboundSsoAssignments":[{"customer":"customers/C0123abc","name":"inboundSsoAssignments/123","rank":1,"samlSsoInfo":{"inboundSamlSsoProfile":"inboundSamlSsoProfiles/123"},"signInBehavior":{"redirectCondition":"REDIRECT_CONDITION_UNSPECIFIED"},"ssoMode":"SAML_SSO","targetType":"targetGroup","target_group":"groups/123"}],"nextPageToken":"nextPageTokenExample"}]},"InputAddress":{"description":"Input schema for user postal address entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"country":{"description":"Country name","type":["string","null"]},"countryCode":{"description":"Country code (ISO 3166-1)","type":["string","null"]},"customType":{"description":"Custom type string when type is 'custom'","type":["string","null"]},"extendedAddress":{"description":"Extended address (e.g., suite)","type":["string","null"]},"formatted":{"description":"Full formatted address","type":["string","null"]},"locality":{"description":"Locality / city","type":["string","null"]},"poBox":{"description":"Post office box","type":["string","null"]},"postalCode":{"description":"Postal / ZIP code","type":["string","null"]},"primary":{"description":"Whether this is primary address","type":["boolean","null"]},"region":{"description":"Region / state","type":["string","null"]},"sourceIsStructured":{"description":"True if the source is structured","type":["boolean","null"]},"streetAddress":{"description":"Street address","type":["string","null"]},"type":{"description":"Address type: custom | home | other | work","type":["string","null"]}}},"InputEmail":{"description":"Input schema for user email entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"address":{"description":"Email address: None=preserve, Some(None)=clear, Some(Some(v))=update","type":["string","null"]},"customType":{"description":"Custom type string when type is 'custom'","type":["string","null"]},"primary":{"description":"Whether this is primary: None=preserve, Some(None)=clear, Some(Some(v))=update","type":["boolean","null"]},"type":{"description":"Type of email: custom | home | other | work","type":["string","null"]}}},"InputExternalId":{"description":"Input schema for external ID entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"customType":{"description":"Custom type string when type is 'custom'","type":["string","null"]},"type":{"description":"External ID type: account | custom | customer | login_id | network | organization","type":["string","null"]},"value":{"description":"External ID value","type":["string","null"]}}},"InputGender":{"description":"Input schema for gender: each field is individually nullish (optional + nullable).","type":"object","properties":{"addressMeAs":{"description":"How to address the user (salutation)","type":["string","null"]},"customGender":{"description":"Custom gender string when type is 'custom'","type":["string","null"]},"type":{"description":"Gender type","type":["string","null"]}}},"InputIm":{"description":"Input schema for IM entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"customProtocol":{"description":"Custom protocol when protocol is 'custom'","type":["string","null"]},"customType":{"description":"Custom type string when type is 'custom'","type":["string","null"]},"im":{"description":"IM handle/address","type":["string","null"]},"primary":{"description":"Whether this is the primary IM entry","type":["boolean","null"]},"protocol":{"description":"Protocol (e.g., aim, gtalk, icq, jabber, net_meeting)","type":["string","null"]},"type":{"description":"IM type: custom | home | other | work","type":["string","null"]}}},"InputKeyword":{"description":"Input schema for keyword entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"customType":{"description":"Custom type string when type is 'custom'","type":["string","null"]},"type":{"description":"Keyword type","type":["string","null"]},"value":{"description":"Keyword value","type":["string","null"]}}},"InputLanguage":{"description":"Input schema for language entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"customLanguage":{"description":"Custom language tag when type is 'custom'","type":["string","null"]},"languageCode":{"description":"BCP-47 language code, e.g., en-US","type":["string","null"]},"preference":{"description":"Preference value (preferred / secondary)","type":["string","null"]}}},"InputLocation":{"description":"Input schema for location entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"area":{"description":"Area name","type":["string","null"]},"buildingId":{"description":"Building identifier","type":["string","null"]},"customType":{"description":"Custom type string when type is 'custom'","type":["string","null"]},"deskCode":{"description":"Desk code","type":["string","null"]},"floorName":{"description":"Floor name","type":["string","null"]},"floorSection":{"description":"Floor section","type":["string","null"]},"type":{"description":"Location type: custom | desk | floor | building | other","type":["string","null"]}}},"InputNotes":{"description":"Input schema for notes: each field is individually nullish (optional + nullable).","type":"object","properties":{"contentType":{"description":"Content type of the notes","type":["string","null"]},"value":{"description":"Notes text content","type":["string","null"]}}},"InputOrganization":{"description":"Input schema for organization entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"costCenter":{"description":"Cost center code","type":["string","null"]},"customType":{"description":"Custom type string when type is 'custom'","type":["string","null"]},"department":{"description":"Department name","type":["string","null"]},"description":{"description":"Description of the organization role","type":["string","null"]},"domain":{"description":"Organization domain","type":["string","null"]},"fullTimeEquivalent":{"description":"Full-time equivalent (FTE) as a number","type":["integer","null"],"format":"int64"},"location":{"description":"Location of the organization/office","type":["string","null"]},"name":{"description":"Organization name","type":["string","null"]},"primary":{"description":"Whether this is primary organization entry","type":["boolean","null"]},"symbol":{"description":"Ticker or symbol","type":["string","null"]},"title":{"description":"Job title","type":["string","null"]},"type":{"description":"Type of organization: custom | domain_only | school | work | other","type":["string","null"]}}},"InputPhone":{"description":"Input schema for user phone entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"customType":{"description":"Custom type string when type is 'custom'","type":["string","null"]},"primary":{"description":"Whether this is primary: None=preserve, Some(None)=clear, Some(Some(v))=update","type":["boolean","null"]},"type":{"description":"Type of phone: custom | home | other | work | mobile | fax | pager","type":["string","null"]},"value":{"description":"Phone number value","type":["string","null"]}}},"InputPosixAccount":{"description":"Input schema for POSIX account entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"accountId":{"description":"POSIX account ID","type":["string","null"]},"gecos":{"description":"GECOS field","type":["string","null"]},"gid":{"description":"Group ID (gid)","type":["integer","null"],"format":"int64"},"homeDirectory":{"description":"Home directory path","type":["string","null"]},"operatingSystemType":{"description":"Operating system type","type":["string","null"]},"primary":{"description":"Whether this is primary POSIX account","type":["boolean","null"]},"shell":{"description":"Shell executable path","type":["string","null"]},"systemId":{"description":"System ID","type":["string","null"]},"uid":{"description":"User ID (uid)","type":["integer","null"],"format":"int64"},"username":{"description":"POSIX username","type":["string","null"]}}},"InputRelation":{"description":"Input schema for relation entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"customType":{"description":"Custom type string when type is 'custom'","type":["string","null"]},"type":{"description":"Relation type: e.g., manager, assistant, spouse, custom","type":["string","null"]},"value":{"description":"Email/value of the related person","type":["string","null"]}}},"InputSshPublicKey":{"description":"Input schema for SSH public key entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"expirationTimeUsec":{"description":"Expiration time in microseconds since epoch","type":["integer","null"],"format":"int64"},"fingerprint":{"description":"Fingerprint of the SSH key","type":["string","null"]},"key":{"description":"Public key material","type":["string","null"]}}},"InputUser":{"description":"Schema for Google User input operations (create/update) - supports patch semantics.\nEach field is nullish (optional + nullable) to support Google's patch API where: omitted fields are preserved; null clears the field; provided values update the field.","type":"object","properties":{"addresses":{"description":"Addresses array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputAddress"}},"agreedToTerms":{"description":"Has agreed to terms (nullish)","type":["boolean","null"]},"aliases":{"description":"Aliases array (nullish)","type":["array","null"],"items":{"type":"string"}},"archived":{"description":"Archived flag (nullish)","type":["boolean","null"]},"changePasswordAtNextLogin":{"description":"Force password change at next login (nullish)","type":["boolean","null"]},"creationTime":{"description":"Creation time RFC3339 (nullish)","type":["string","null"]},"customSchemas":{"description":"Custom schemas map (nullish)","type":["object","null"],"additionalProperties":true},"customerId":{"description":"Customer ID (nullish)","type":["string","null"]},"deletionTime":{"description":"Deletion time RFC3339 (nullish)","type":["string","null"]},"emails":{"description":"Emails array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputEmail"}},"etag":{"description":"ETag (optional, non-nullish)","type":["string","null"]},"externalIds":{"description":"External IDs array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputExternalId"}},"gender":{"description":"Gender object (nullish)","anyOf":[{"$ref":"#/components/schemas/InputGender"},{"type":"null"}]},"hashFunction":{"description":"Hash function name (nullish)","type":["string","null"]},"id":{"description":"Required: unique ID for the user","type":"string"},"ims":{"description":"Instant messaging array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputIm"}},"includeInGlobalAddressList":{"description":"Include in global address list (nullish)","type":["boolean","null"]},"ipWhitelisted":{"description":"IP allowlist flag (nullish)","type":["boolean","null"]},"isAdmin":{"description":"Is super admin (nullish)","type":["boolean","null"]},"isDelegatedAdmin":{"description":"Is delegated admin (nullish)","type":["boolean","null"]},"isEnforcedIn2Sv":{"description":"2SV enforced (nullish)","type":["boolean","null"]},"isEnrolledIn2Sv":{"description":"2SV enrolled (nullish)","type":["boolean","null"]},"isMailboxSetup":{"description":"Mailbox setup flag (nullish)","type":["boolean","null"]},"keywords":{"description":"Keywords array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputKeyword"}},"kind":{"description":"Resource kind (optional, non-nullish)","type":["string","null"]},"languages":{"description":"Languages array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputLanguage"}},"lastLoginTime":{"description":"Last login time RFC3339 (nullish)","type":["string","null"]},"locations":{"description":"Locations array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputLocation"}},"name":{"description":"Name object (nullish)","anyOf":[{"$ref":"#/components/schemas/InputUserName"},{"type":"null"}]},"nonEditableAliases":{"description":"Non-editable aliases array (nullish)","type":["array","null"],"items":{"type":"string"}},"notes":{"description":"Notes object (nullish)","anyOf":[{"$ref":"#/components/schemas/InputNotes"},{"type":"null"}]},"orgUnitPath":{"description":"Org unit path (nullish)","type":["string","null"]},"organizations":{"description":"Organizations array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputOrganization"}},"password":{"description":"Password (nullish)","type":["string","null"]},"phones":{"description":"Phones array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputPhone"}},"posixAccounts":{"description":"POSIX accounts array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputPosixAccount"}},"primaryEmail":{"description":"Required: primary email address","type":"string"},"recoveryEmail":{"description":"Recovery email (nullish)","type":["string","null"]},"recoveryPhone":{"description":"Recovery phone (nullish)","type":["string","null"]},"relations":{"description":"Relations array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputRelation"}},"sshPublicKeys":{"description":"SSH public keys array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputSshPublicKey"}},"suspended":{"description":"Suspended (nullish)","type":["boolean","null"]},"suspensionReason":{"description":"Suspension reason (nullish)","type":["string","null"]},"thumbnailPhotoEtag":{"description":"Thumbnail photo ETag (nullish)","type":["string","null"]},"thumbnailPhotoUrl":{"description":"Thumbnail photo URL (nullish)","type":["string","null"]},"websites":{"description":"Websites array (nullish)","type":["array","null"],"items":{"$ref":"#/components/schemas/InputWebsite"}}},"examples":[{"addresses":null,"agreedToTerms":null,"aliases":null,"archived":null,"changePasswordAtNextLogin":null,"creationTime":null,"customSchemas":null,"customerId":null,"deletionTime":null,"emails":null,"etag":null,"externalIds":null,"gender":null,"hashFunction":null,"id":"user123","ims":null,"includeInGlobalAddressList":null,"ipWhitelisted":null,"isAdmin":null,"isDelegatedAdmin":null,"isEnforcedIn2Sv":null,"isEnrolledIn2Sv":null,"isMailboxSetup":null,"keywords":null,"kind":null,"languages":null,"lastLoginTime":null,"locations":null,"name":null,"nonEditableAliases":null,"notes":null,"orgUnitPath":null,"organizations":null,"password":null,"phones":null,"posixAccounts":null,"primaryEmail":"user@example.com","recoveryEmail":null,"recoveryPhone":null,"relations":null,"sshPublicKeys":null,"suspended":null,"suspensionReason":null,"thumbnailPhotoEtag":null,"thumbnailPhotoUrl":null,"websites":null}],"required":["id","primaryEmail"]},"InputUserName":{"description":"Input schema for user name: each field is individually nullish (optional + nullable).\nOmitted => preserve existing value; null => clear the value; provided => update.","type":"object","properties":{"displayName":{"description":"Display name: None=preserve, Some(None)=clear, Some(Some(v))=update","type":["string","null"]},"familyName":{"description":"Family (last) name: None=preserve, Some(None)=clear, Some(Some(v))=update","type":["string","null"]},"fullName":{"description":"Full name (read-only in output): None=preserve, Some(None)=clear, Some(Some(v))=update","type":["string","null"]},"givenName":{"description":"Given (first) name: None=preserve, Some(None)=clear, Some(Some(v))=update","type":["string","null"]}}},"InputWebsite":{"description":"Input schema for website entry: each field is individually nullish (optional + nullable).","type":"object","properties":{"customType":{"description":"Custom type string when type is 'custom'","type":["string","null"]},"primary":{"description":"Whether this is the primary website","type":["boolean","null"]},"type":{"description":"Type of website: custom | home | other | work","type":["string","null"]},"value":{"description":"Website URL","type":["string","null"]}}},"InsertUserQueryParams":{"description":"Query parameters for inserting a user. The request body must be empty.","type":"object","properties":{"resolveConflictAccount":{"description":"If set to true, the option selected for handling unmanaged user accounts will apply. Default: false.","type":["boolean","null"]}},"examples":[{"resolveConflictAccount":true}]},"Integration":{"description":"An integration.","type":"object","properties":{"app_id":{"type":["string","null"],"format":"uuid"},"auth_provider":{"description":"Auth provider identifier (e.g., \"deel\", \"bamboohr\", \"hibob\")","type":["string","null"]},"auth_status":{"type":"boolean"},"catalog_id":{"type":["string","null"],"format":"uuid"},"config":{"description":"Integration-specific configuration (custom mappings, sync options, provider settings)"},"created_at":{"type":"string","format":"partial-date-time"},"delegation_requested_at":{"type":["string","null"],"format":"partial-date-time"},"delegation_requested_by":{"type":["string","null"],"format":"uuid"},"delegation_status":{"type":["string","null"]},"integration_health":{"type":["string","null"]},"integration_id":{"type":"string","format":"uuid"},"integration_sub_type":{"type":["string","null"]},"integration_type":{"type":"string"},"last_sync_at":{"description":"Timestamp of the latest sync run","type":["string","null"],"format":"date-time"},"last_sync_execution_arn":{"description":"Step Functions execution ARN for the latest sync run","type":["string","null"]},"metadata":true,"name":{"type":"string"},"org_id":{"type":"string","format":"uuid"},"status":{"type":"boolean"},"updated_at":{"type":"string","format":"partial-date-time"},"workato_external_id":{"type":["integer","null"],"format":"int64"},"workato_folder":{"type":["string","null"]},"workato_provider":{"type":["string","null"]},"workato_template":true},"examples":[{"app_id":"66c82223-428e-4d29-99a8-9b71da365663","auth_provider":"google_workspace","auth_status":true,"catalog_id":"0191b6ab-5067-7a9c-a715-65495ef06755","config":null,"created_at":"2024-09-05T03:49:00.647546","delegation_requested_at":null,"delegation_requested_by":null,"delegation_status":null,"integration_health":"Healthy","integration_id":"0191c04c-be68-741d-8028-b6e671fec760","integration_sub_type":null,"integration_type":"app","last_sync_at":null,"last_sync_execution_arn":null,"metadata":{"auth_info":{"email":"admin@example.com","family_name":"Admin","given_name":"Workspace","hd":"example.com","id":"0123456789012345678901","name":"Workspace Admin","picture":"https://img.example.com","verified_email":true},"health":{"failure_count":0,"failures":{}}},"name":"Google","org_id":"3756d031-835e-45f5-a709-82ec7335957f","status":true,"updated_at":"2024-10-22T03:09:12.881420","workato_external_id":null,"workato_folder":"Google Workspace","workato_provider":"google_workspace","workato_template":null}],"required":["integration_id","org_id","name","integration_type","auth_status","created_at","updated_at","status"]},"IntegrationCatalog":{"description":"An integration catalog entry.","type":"object","properties":{"app_catalog_id":{"type":["string","null"],"format":"uuid"},"auth_provider":{"type":["string","null"]},"catalog_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"partial-date-time"},"has_api":{"type":"boolean"},"integration_sub_type":{"type":["string","null"]},"integration_type":{"type":["string","null"]},"key_type":{"type":["string","null"]},"metadata":true,"name":{"type":"string"},"service_health":{"type":["string","null"]},"updated_at":{"type":"string","format":"partial-date-time"},"workato_folder":{"type":["string","null"]},"workato_provider":{"type":["string","null"]},"workato_template":true},"examples":[{"app_catalog_id":"0191bc4e-89bb-7b99-973d-323be5f31229","auth_provider":"jumpcloud","catalog_id":"018ee0a1-d675-72c2-abfd-7ce28c877e70","created_at":"2024-04-15T15:21:48","has_api":true,"integration_sub_type":"idp","integration_type":"directory","key_type":"API","metadata":null,"name":"JumpCloud","service_health":"healthy","updated_at":"2024-09-04T09:12:47.848900","workato_folder":"Jumpcloud","workato_provider":null,"workato_template":null}],"required":["catalog_id","name","created_at","updated_at","has_api"]},"IntegrationRefreshResponse":{"description":"Response for integration refresh operations","type":"object","properties":{"initiated_at":{"description":"Timestamp when the refresh was initiated","type":"string"},"message":{"description":"Message describing the result","type":"string"}},"required":["initiated_at","message"]},"InvolvementFilter":{"description":"Employee-portal involvement filter. Selects which subset of the caller's work items to return.","oneOf":[{"description":"Caller is the current assignee.","type":"string","const":"assignee"},{"description":"Caller is the target user of the work item.","type":"string","const":"target"},{"description":"Caller created the work item (originator).","type":"string","const":"originated"},{"description":"Caller is on the watcher list.","type":"string","const":"watcher"},{"description":"Any of the above (default).","type":"string","const":"any"}]},"IsMemberResponse":{"type":"object","properties":{"isMember":{"type":"boolean"}},"required":["isMember"]},"Jit":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/ApplicationSsoJit"}]},"JitAttribute":{"type":"object","properties":{"name":{"type":"string"},"required":{"type":["boolean","null"]}},"required":["name"]},"Keyword":{"description":"Represents a keyword attached to the user. Maximum allowed data size is 1KB.","type":"object","properties":{"customType":{"description":"If the keyword type is custom, this property contains the custom value and must be set.","type":["string","null"]},"type":{"description":"The type indicating the standard type of this entry. Allowed values: custom, mission, occupation, outlook.","type":["string","null"]},"value":{"description":"Keyword.","type":["string","null"]}}},"Language":{"description":"Represents a language setting for the user. Maximum allowed data size is 1KB.","type":"object","properties":{"customLanguage":{"description":"Other language. If set, languageCode can't be set.","type":["string","null"]},"languageCode":{"description":"ISO 639 string representation of a language. If set, customLanguage can't be set.","type":["string","null"]},"preference":{"description":"Controls whether the specified languageCode is the user's preferred language. Allowed values: preferred, not_preferred.","type":["string","null"]}}},"LicenseAssignment":{"description":"Representation of a license assignment.","type":"object","properties":{"etags":{"description":"ETag of the resource.","type":"string"},"kind":{"description":"Identifies the resource as a LicenseAssignment, which is licensing#licenseAssignment.","type":"string"},"productId":{"description":"A product's unique identifier.","type":"string"},"productName":{"description":"Display Name of the product.","type":"string"},"selfLink":{"description":"Link to this page.","type":"string"},"skuId":{"description":"A product SKU's unique identifier.","type":"string"},"skuName":{"description":"Display Name of the SKU of the product.","type":"string"},"userId":{"description":"The user's current primary email address.","type":"string"}},"examples":[{"etags":"\"etag_value\"","kind":"licensing#licenseAssignment","productId":"Google-Apps","productName":"Google Workspace","selfLink":"https://content-licensing.googleapis.com/apps/licensing/v1/product/Google-Apps/sku/1010020028/user/john.doe@example.com","skuId":"1010020028","skuName":"Google Workspace Business Standard","userId":"john.doe@example.com"}],"required":["kind","etags","productId","userId","selfLink","skuId","skuName","productName"]},"ListCustomerRoleAssignmentQueryParams":{"description":"Query parameters for listing customer role assignments.","type":"object","properties":{"includeIndirectRoleAssignments":{"description":"When set to true, fetches indirect role assignments (i.e. role assignment via a group) as well as direct ones. Defaults to false. You must specify userKey or the indirect role assignments will not be included.","type":["boolean","null"]},"maxResults":{"description":"Maximum number of results to return.","type":["integer","null"],"format":"int32"},"pageToken":{"description":"Token to specify the next page in the list.","type":["string","null"]},"roleId":{"description":"Immutable ID of a role. If included in the request, returns only role assignments containing this role ID.","type":["string","null"]},"userKey":{"description":"The primary email address, alias email address, or unique user or group ID. If included in the request, returns role assignments only for this user or group.","type":["string","null"]}},"examples":[{"includeIndirectRoleAssignments":true,"maxResults":100,"pageToken":"next_page_token","roleId":"role123","userKey":"user@example.com"}]},"ListCustomerRolesQueryParams":{"type":"object","properties":{"maxResults":{"description":"Maximum number of results to return.","type":["integer","null"],"format":"int32"},"pageToken":{"description":"Token to specify the next page in the list.","type":["string","null"]}},"examples":[{"maxResults":100,"pageToken":"next_page_token"}]},"ListGroupsQueryParams":{"description":"Query parameters for listing groups.","type":"object","properties":{"customer":{"description":"The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all groups for a customer, use this field instead of domain. You can also use the my_customer alias to represent your account's customerId. The customerId is also returned as part of the Users resource. You must provide either the customer or the domain parameter.","type":["string","null"]},"domain":{"description":"The domain name. Use this field to get groups from only one domain. To return all domains for a customer account, use the customer query parameter instead.","type":["string","null"]},"maxResults":{"description":"Maximum number of results to return. Max allowed value is 200.","type":["integer","null"],"format":"uint32","minimum":0},"orderBy":{"description":"Column to use for sorting results.","anyOf":[{"$ref":"#/components/schemas/OrderBy"},{"type":"null"}]},"pageToken":{"description":"Token to specify next page in the list.","type":["string","null"]},"query":{"description":"Query string search.","type":["string","null"]},"sortOrder":{"description":"Whether to return results in ascending or descending order. Only of use when orderBy is also used.","anyOf":[{"$ref":"#/components/schemas/SortOrder"},{"type":"null"}]},"userKey":{"description":"Email or immutable ID of the user if only those groups are to be listed, the given user is a member of. If it's an ID, it should match with the ID of the user object. Cannot be used with the customer parameter.","type":["string","null"]}},"examples":[{"customer":"customer@example.com","domain":"example.com","maxResults":200,"orderBy":"EMAIL","pageToken":"token","query":"query","sortOrder":"ASCENDING","userKey":"user@example.com"}]},"ListIdpCredentialsResponse":{"description":"Response of the InboundSamlSsoProfilesService.ListIdpCredentials method.","type":"object","properties":{"idpCredentials":{"description":"The IdpCredentials from the specified InboundSamlSsoProfile.","type":["array","null"],"items":{"$ref":"#/components/schemas/IdpCredential"}},"nextPageToken":{"description":"A token to retrieve the next page. If omitted, there are no subsequent pages.","type":["string","null"]}},"examples":[{"idpCredentials":[{"keySize":2048,"name":"idpCredentials/example","type":"rsaKeyInfo","updateTime":"2023-01-01T00:00:00Z"}],"nextPageToken":"nextPageTokenExample"}]},"ListInboundSamlSsoProfilesIdPQueryParams":{"description":"Query parameters for listing IdpCredentials.","type":"object","properties":{"pageSize":{"description":"The maximum number of IdpCredentials to return. The service may return fewer than this value.","type":["integer","null"],"format":"int32"},"pageToken":{"description":"A page token, received from a previous idpCredentials.list call. Provide this to retrieve the subsequent page.","type":["string","null"]}},"examples":[{"pageSize":50,"pageToken":"next_page_token_example"}]},"ListInboundSamlSsoProfilesQueryParams":{"description":"Query parameters for listing inbound SSO assignments.","type":"object","properties":{"filter":{"description":"A CEL expression to filter the results. Example: `customer==customers/C0123abc`.","type":["string","null"]},"pageSize":{"description":"The maximum number of assignments to return. Maximum value is 100.","type":["integer","null"],"format":"int32"},"pageToken":{"description":"A page token received from a previous list call to retrieve the next page.","type":["string","null"]}},"examples":[{"filter":"customer==customers/C0123abc","pageSize":50,"pageToken":"next_page_token"}]},"ListInboundSsoAssignmentQueryParams":{"description":"Query parameters for listing inbound SSO assignments.","type":"object","properties":{"filter":{"description":"A CEL expression to filter the results. Example: `customer==customers/C0123abc`.","type":["string","null"]},"pageSize":{"description":"The maximum number of assignments to return. Maximum value is 100.","type":["integer","null"],"format":"int32"},"pageToken":{"description":"A page token received from a previous list call to retrieve the next page.","type":["string","null"]}},"examples":[{"filter":"customer==customers/C0123abc","pageSize":50,"pageToken":"next_page_token"}]},"ListLicenseQueryParams":{"description":"Query parameters for listing license assignments.","type":"object","properties":{"customerId":{"description":"The customer's unique ID as defined in the Admin console, such as C00000000. If the customer is suspended, the server returns an error.","type":"string"},"maxResults":{"description":"The maxResults query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.","type":["integer","null"],"format":"uint32","minimum":0},"pageToken":{"description":"Token to fetch the next page of data. The maxResults query string is related to the pageToken since maxResults determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.","type":["string","null"]}},"examples":[{"customerId":"C00000000","maxResults":100,"pageToken":"nextPageToken"}],"required":["customerId"]},"ListMembersQueryParams":{"description":"Query parameters for listing group members.","type":"object","properties":{"includeDerivedMembership":{"description":"Whether to list indirect memberships. Default: false.","type":["boolean","null"]},"maxResults":{"description":"Maximum number of results to return. Max allowed value is 200.","type":["integer","null"],"format":"uint32","minimum":0},"pageToken":{"description":"Token to specify next page in the list.","type":["string","null"]},"roles":{"description":"The roles query parameter allows you to retrieve group members by role. Allowed values are OWNER, MANAGER, and MEMBER.","type":["string","null"]}},"examples":[{"includeDerivedMembership":false,"maxResults":200,"pageToken":"token","roles":"OWNER"}]},"ListOfResults":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Administrator"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults10":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Command"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults11":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/CommandResult"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults12":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/AppleMdmDevice"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults13":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Directory"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults14":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/EmployeeDirectoryItem"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults15":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/GraphConnection"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults16":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/GoogleWorkspaceDomain"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults17":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Application"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults18":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Group2"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults19":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/FullUserData"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults2":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/AdminRole"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults3":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/System"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults4":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/GraphObjectWithPaths"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults5":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/SystemInsightsSystemInfo"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults6":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/SystemInsightsOsVersion"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults7":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/SystemInsightsDiskEncryption"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults8":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/SystemInsightsBitlockerInfo"}},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOfResults9":{"type":"object","properties":{"results":{"type":"array","items":true},"totalCount":{"type":"integer","format":"int64"}},"required":["results","totalCount"]},"ListOrgUnitQueryParams":{"description":"Represents the query parameters for listing organizational units.","type":"object","properties":{"orgUnitPath":{"description":"The full path to the organizational unit or its unique ID. Returns the children of the specified organizational unit.","type":["string","null"]},"type":{"description":"Specifies whether to return all sub-organizations or just immediate children.","anyOf":[{"$ref":"#/components/schemas/Type"},{"type":"null"}]}},"examples":[{"orgUnitPath":"/corp/sales","type":"CHILDREN"}]},"ListUserAliasQueryParams":{"description":"Query parameters for listing user aliases.","type":"object","properties":{"event":{"description":"Event to watch for.","anyOf":[{"$ref":"#/components/schemas/UserAliasEvent"},{"type":"null"}]}},"examples":[{"event":"ADD"}]},"ListUsersQueryParams":{"description":"Query parameters for listing users.","type":"object","properties":{"customFieldMask":{"description":"A comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.","type":["string","null"]},"customer":{"description":"The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all users for a customer, use this field instead of domain. You can also use the my_customer alias to represent your account's customerId. The customerId is also returned as part of the Users resource. You must provide either the customer or the domain parameter.","type":["string","null"]},"domain":{"description":"The domain name. Use this field to get users from only one domain. To return all domains for a customer account, use the customer query parameter instead. Either the customer or the domain parameter must be provided.","type":["string","null"]},"event":{"description":"Event on which subscription is intended (if subscribing).","anyOf":[{"$ref":"#/components/schemas/Event"},{"type":"null"}]},"maxResults":{"description":"Maximum number of results to return.","type":["integer","null"],"format":"int32"},"orderBy":{"description":"Property to use for sorting results.","anyOf":[{"$ref":"#/components/schemas/OrderBy2"},{"type":"null"}]},"pageToken":{"description":"Token to specify next page in the list. The page token is only valid for three days.","type":["string","null"]},"projection":{"description":"What subset of fields to fetch for this user.","anyOf":[{"$ref":"#/components/schemas/Projection"},{"type":"null"}]},"query":{"description":"Query string for searching user fields. For more information on constructing user queries, see Search for Users.","type":["string","null"]},"showDeleted":{"description":"If set to true, retrieves the list of deleted users. (Default: false).","type":["string","null"]},"sortOrder":{"description":"Whether to return results in ascending or descending order, ignoring case.","anyOf":[{"$ref":"#/components/schemas/SortOrder2"},{"type":"null"}]},"viewType":{"description":"Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see Retrieve a user as a non-administrator.","anyOf":[{"$ref":"#/components/schemas/ViewType"},{"type":"null"}]}},"examples":[{"customFieldMask":"customField1,customField2","customer":"my_customer","domain":"example.com","event":"ADD","maxResults":100,"orderBy":"EMAIL","pageToken":"nextPageToken","projection":"FULL","query":"name:John","showDeleted":"true","sortOrder":"ASCENDING","viewType":"ADMIN_VIEW"}]},"Location":{"description":"Represents a location entry for the user. Maximum allowed data size is 10KB.","type":"object","properties":{"area":{"description":"Textual location for display purposes, e.g. Mountain View, CA.","type":["string","null"]},"buildingId":{"description":"Building identifier.","type":["string","null"]},"customType":{"description":"If the location type is custom, this property contains the custom value and must be set.","type":["string","null"]},"deskCode":{"description":"Most specific textual code of individual desk location.","type":["string","null"]},"floorName":{"description":"Floor name or number.","type":["string","null"]},"floorSection":{"description":"Floor section within the floor.","type":["string","null"]},"type":{"description":"The location type. Allowed values: custom, default, desk.","type":["string","null"]}}},"Location2":{"description":"A location in an organization.","type":"object","properties":{"created_at":{"type":"string","format":"partial-date-time"},"location_id":{"type":"string","format":"uuid"},"location_name":{"type":"string"},"org_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"created_at":"2024-10-08T09:16:13.951358","location_id":"01926b6a-2efe-7329-8894-540714194d06","location_name":"Singapore","org_id":"3756d031-835e-45f5-a709-82ec7335957f","updated_at":"2024-10-08T09:16:13.951358"}],"required":["location_id","org_id","location_name","created_at","updated_at"]},"MdmInfo":{"description":"MDM enrollment information","type":"object","properties":{"dep":{"type":["boolean","null"]},"enrollmentType":{"description":"One of: unknown, automated device, device, user.","type":["string","null"]},"internal":{"anyOf":[{"$ref":"#/components/schemas/MdmInternal"},{"type":"null"}]},"lostModeStatus":{"type":["string","null"]},"profileIdentifier":{"type":["string","null"]},"providerId":{"type":["string","null"]},"userApproved":{"type":["boolean","null"]},"vendor":{"description":"One of: unknown, none, internal, external.","type":["string","null"]},"windows":{"anyOf":[{"$ref":"#/components/schemas/MdmWindows"},{"type":"null"}]}},"examples":[{"dep":false,"enrollmentType":"unknown","internal":{"deviceId":"5f0c00000000000000000002"},"profileIdentifier":"com.jumpcloud.mdm","userApproved":true,"vendor":"internal"}]},"MdmInternal":{"description":"JumpCloud-internal MDM identifiers","type":"object","properties":{"deviceId":{"description":"The Apple MDM device id used in `/v2/applemdms/{mdm_id}/devices/{device_id}/*`\naction URLs. This — not the system id — is the action target.","type":["string","null"]},"windowsDeviceId":{"type":["string","null"]}},"examples":[{"deviceId":"5f0c00000000000000000002"}]},"MdmWindows":{"description":"Windows MDM enrollment detail","type":"object","properties":{"upn":{"type":["string","null"]}},"examples":[{"upn":"jdoe@example.com"}]},"Member":{"description":"Resource: Member\nA Google Groups member can be a user or another group. This member can be inside or outside of your account's domains.","type":"object","properties":{"deliverySettings":{"description":"Defines mail delivery preferences of member. Acceptable values are: ALL_MAIL, DAILY, DIGEST, DISABLED, NONE.","type":["string","null"]},"email":{"description":"The member's email address. A member can be a user or another group. This property is required when adding a member to a group. The email must be unique and cannot be an alias of another group.","type":"string"},"etag":{"description":"ETag of the resource.","type":"string"},"id":{"description":"The unique ID of the group member. A member id can be used as a member request URI's memberKey.","type":"string"},"kind":{"description":"The type of the API resource. For Members resources, the value is admin#directory#member.","type":"string"},"role":{"description":"The member's role in a group. Acceptable values are: MANAGER, MEMBER, OWNER.","type":"string"},"status":{"description":"Status of member (Immutable).","type":["string","null"]},"type":{"description":"The type of group member. Acceptable values are: CUSTOMER, EXTERNAL, GROUP, USER.","type":"string"}},"examples":[{"deliverySettings":"ALL_MAIL","email":"member@example.com","etag":"\"dummy_etag\"","id":"member@example.com","kind":"admin#directory#member","role":"MEMBER","status":"ACTIVE","type":"USER"}],"required":["kind","email","role","etag","type","id"]},"MemberQuery":{"type":"object","properties":{"filters":{"type":["array","null"],"items":true},"queryType":{"type":"string"},"searchFilters":{"type":["string","null"]}},"required":["queryType"]},"MessageModerationLevel":{"description":"Moderation level of incoming messages.","oneOf":[{"description":"All messages are sent to the group owner's email address for approval. If approved, the message is sent to the group.","type":"string","const":"MODERATE_ALL_MESSAGES"},{"description":"All messages from non group members are sent to the group owner's email address for approval. If approved, the message is sent to the group.","type":"string","const":"MODERATE_NON_MEMBERS"},{"description":"All messages from new members are sent to the group owner's email address for approval. If approved, the message is sent to the group.","type":"string","const":"MODERATE_NEW_MEMBERS"},{"description":"No moderator approval is required. Messages are delivered directly to the group.","type":"string","const":"MODERATE_NONE"}]},"MessageValue":{"description":"Container for a list of nested parameters.","type":"object","properties":{"parameter":{"description":"List of nested parameters.","type":"array","items":{"$ref":"#/components/schemas/Parameter"}}},"required":["parameter"]},"Mfa":{"type":"object","properties":{"configured":{"type":["boolean","null"]},"exclusion":{"type":["boolean","null"]},"exclusionDays":{"type":["integer","null"],"format":"int64"},"exclusionUntil":{"type":["string","null"]}}},"MfaEnrollment":{"type":"object","properties":{"overallStatus":{"type":["string","null"]},"pushStatus":{"type":["string","null"]},"totpStatus":{"type":["string","null"]},"webAuthnStatus":{"type":["string","null"]}}},"MyApiKeyQueryParams":{"description":"Query parameters for API keys.","type":"object","properties":{"org_id":{"description":"Filter by the organization ID of the API key owner.","type":["string","null"]},"page_number":{"description":"The page number to return.","type":["integer","null"],"format":"int64"},"page_size":{"description":"The number of results to return per page.","type":["integer","null"],"format":"int64"},"user_email":{"description":"Filter by the email of the API key owner.","type":["string","null"]},"user_id":{"description":"Filter by the PropelAuth user ID of the API key owner.","type":["string","null"]}},"examples":[{"org_id":"3756d031-835e-45f5-a709-82ec7335957f","page_number":1,"page_size":100,"user_email":"user@example.com","user_id":null}]},"MyCreateApiKeyParams":{"description":"Create an API key.","type":"object","properties":{"display_name":{"description":"A human-readable display name for the API key.","type":["string","null"]},"expires_at_seconds":{"description":"A unix timestamp of when the API key should expire. If not provided, the API key will not expire.","type":["integer","null"],"format":"int64"},"metadata":{"description":"Metadata to attach to the API key."},"org_id":{"description":"The ID of the organization to associate the API key with.","type":["string","null"]},"user_id":{"description":"The PropelAuth user ID of the API key owner, if the key is a user key.","type":["string","null"]}},"examples":[{"display_name":"A test key","expires_at_seconds":null,"metadata":{"api_key_purpose":"A key for testing","api_key_source":"dan@shiftcontrol.io"},"org_id":null,"user_id":null}]},"MyOrgMetadata":{"type":"object","properties":{"can_setup_saml":{"type":"boolean"},"max_users":{"type":["integer","null"],"format":"int32"},"metadata":{"type":"object","additionalProperties":true},"org_id":{"type":"string","format":"uuid"},"org_name":{"type":"string"}},"required":["org_id","org_name","can_setup_saml","metadata"]},"MyUpdateApiKeyParams":{"description":"Update an API key.","type":"object","properties":{"expires_at_seconds":{"description":"A unix timestamp of when the API key should expire. If not provided, the API key will not expire.","type":["integer","null"],"format":"int64"},"metadata":{"description":"Metadata to attach to the API key."},"set_to_never_expire":{"description":"If the key should never expire, set to true.","type":["boolean","null"]}},"examples":[{"expires_at_seconds":1770387160,"metadata":{"api_key_name":"Updated API Key Name","api_key_purpose":"Updated Purpose","api_key_source":"dan@shiftcontrol.io"},"set_to_never_expire":null}]},"MyValidateApiKeyParams":{"type":"object","properties":{"api_key_token":{"type":"string"}},"examples":[{"api_key_token":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}],"required":["api_key_token"]},"MyValidateApiKeyResponse":{"description":"Validate an API key.","type":"object","properties":{"metadata":true,"org":{"anyOf":[{"$ref":"#/components/schemas/MyOrgMetadata"},{"type":"null"}]},"user":{"anyOf":[{"$ref":"#/components/schemas/UserMetadata"},{"type":"null"}]},"user_in_org":{"anyOf":[{"$ref":"#/components/schemas/UserInOrg"},{"type":"null"}]}},"examples":[{"metadata":{"api_key_name":"API Key Test","api_key_purpose":"A Local test key","api_key_source":"dan@shiftcontrol.io"},"org":{"can_setup_saml":true,"max_users":null,"metadata":{"Test":"test"},"org_id":"3756d031-835e-45f5-a709-82ec7335957f","org_name":"Test Org"},"user":null,"user_in_org":null}]},"NetworkInterface":{"description":"Network interface","type":"object","properties":{"address":{"type":["string","null"]},"family":{"description":"One of: IPv4, IPv6.","type":["string","null"]},"internal":{"type":["boolean","null"]},"name":{"type":["string","null"]}},"examples":[{"address":"203.0.113.10","family":"IPv4","internal":false,"name":"en0"}]},"NewUpdateCommand":{"description":"Command create/update body","type":"object","properties":{"command":{"type":["string","null"]},"commandRunners":{"type":["array","null"],"items":{"type":"string"}},"commandType":{"type":["string","null"]},"description":{"type":["string","null"]},"files":{"type":["array","null"],"items":{"type":"string"}},"filesS3":{"type":["array","null"],"items":{"$ref":"#/components/schemas/FilesS3"}},"launchType":{"type":["string","null"]},"listensTo":{"type":["string","null"]},"name":{"type":["string","null"]},"schedule":{"type":["string","null"]},"scheduleRepeatType":{"type":["string","null"]},"scheduleYear":{"type":["integer","null"],"format":"int64"},"shell":{"type":["string","null"]},"shutdownAfterRun":{"type":["boolean","null"]},"sudo":{"type":["boolean","null"]},"template":{"type":["string","null"]},"timeToLiveSeconds":{"type":["integer","null"],"format":"int64"},"timeout":{"type":["string","null"]},"trigger":{"type":["string","null"]},"user":{"type":["string","null"]}},"examples":[{"command":"rundll32.exe user32.dll,LockWorkStation","commandType":"windows","launchType":"manual","name":"Lock device","sudo":false,"timeout":"120"}]},"Notes":{"description":"Represents a note associated with the user.","type":"object","properties":{"contentType":{"description":"Content type of note, either plain text or HTML. Allowed values: text_plain, text_html.","type":["string","null"]},"value":{"description":"Contents of the note.","type":["string","null"]}}},"NumericIndexingSpec":{"description":"Represents the numeric indexing specification for a schema field.","type":"object","properties":{"maxValue":{"description":"Maximum value of this field.","type":["number","null"],"format":"double"},"minValue":{"description":"Minimum value of this field.","type":["number","null"],"format":"double"}},"examples":[{"maxValue":100.0,"minValue":0.0}]},"OauthStatsDay":{"description":"OAuth status day","type":"object","properties":{"app_name":{"type":"string"},"authorize_count":{"type":"integer","format":"int32"},"client_id":{"type":"string"},"day":{"type":"string","format":"date"},"id":{"type":"integer","format":"int64"},"org_id":{"type":"string","format":"uuid"},"revocation_count":{"type":"integer","format":"int32"},"scopes":{"type":"array","items":{"type":["string","null"]}},"user_count":{"type":"integer","format":"int32"}},"examples":[{"app_name":"Example App","authorize_count":42,"client_id":"example-client","day":"2025-01-15","id":1,"org_id":"00000000-0000-0000-0000-000000000000","revocation_count":3,"scopes":["openid","https://www.googleapis.com/auth/userinfo.profile"],"user_count":17}],"required":["id","org_id","client_id","app_name","day","authorize_count","revocation_count","user_count","scopes"]},"OauthStatsMonth":{"description":"OAuth status month","type":"object","properties":{"app_name":{"type":"string"},"authorize_count":{"type":"integer","format":"int32"},"client_id":{"type":"string"},"id":{"type":"integer","format":"int64"},"month_date":{"type":"string","format":"date"},"org_id":{"type":"string","format":"uuid"},"revocation_count":{"type":"integer","format":"int32"},"scopes":{"type":"array","items":{"type":["string","null"]}},"user_count":{"type":"integer","format":"int32"}},"examples":[{"app_name":"Example App","authorize_count":420,"client_id":"example-client","id":1,"month_date":"2025-01-01","org_id":"00000000-0000-0000-0000-000000000000","revocation_count":30,"scopes":["openid","https://www.googleapis.com/auth/userinfo.profile"],"user_count":170}],"required":["id","org_id","client_id","app_name","month_date","authorize_count","revocation_count","user_count","scopes"]},"OffboardingChoice":{"description":"The disposition an administrator chooses for a departed employee's card. The\nthree variants mirror the org-level `card_offboarding_default`\n(GENERIC / REDIRECT / DIE) but are applied per person when the decision work\nitem is resolved.","oneOf":[{"description":"Serve the organization's \"no longer with the company\" page.","type":"string","const":"GENERIC"},{"description":"Redirect the card's URL to another person's card in the same organization.","type":"string","const":"REDIRECT"},{"description":"Retire the card's URL — visitors get a not-found response.","type":"string","const":"DIE"}]},"OffboardingDecision":{"description":"How a departed employee's card should behave: serve the company's farewell page, redirect to another person's card, or stop resolving.","type":"object","properties":{"choice":{"description":"What the card's link should do: GENERIC serves the company farewell page, REDIRECT forwards to another person's card, DIE stops the link from resolving.","allOf":[{"$ref":"#/components/schemas/OffboardingChoice"}]},"grace_until":{"description":"When the card should stop serving its current behavior; omit to keep the grace window the system already set when the person left.","type":["string","null"],"format":"partial-date-time"},"redirect_to_user_id":{"description":"The person whose card to redirect to, required when the choice is REDIRECT and ignored otherwise. Must be someone with a card in the same organization.","type":["string","null"],"format":"uuid"}},"examples":[{"choice":"GENERIC","grace_until":null,"redirect_to_user_id":null}],"required":["choice"]},"Oidc":{"type":"object","properties":{"clientId":{"type":["string","null"]},"clientSecret":{"type":["string","null"]},"consent":{"type":["string","null"]},"dynamicClaims":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Claim"}},"grantTypes":{"type":["array","null"],"items":{"type":"string"}},"metadata":true,"redirectUris":{"type":["array","null"],"items":{"type":"string"}},"relyingPartyUrl":{"type":"string"},"staticClaims":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StaticClaim"}},"tokenEndpointAuthMethod":{"type":["string","null"]}},"required":["relyingPartyUrl"]},"Operation":{"description":"Represents a long-running operation resulting from a network API call.","type":"object","properties":{"done":{"description":"Indicates whether the operation is completed.","type":"boolean"},"error":{"description":"The error result of the operation in case of failure or cancellation.","anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}]},"metadata":{"description":"Service-specific metadata associated with the operation.","type":["object","null"],"additionalProperties":true},"name":{"description":"The server-assigned name, unique within the same service.","type":"string"},"response":{"description":"The normal, successful response of the operation.","type":["object","null"],"additionalProperties":true}},"examples":[{"done":true,"error":null,"metadata":{"@type":"types.example.com/metadata","progress":50},"name":"operations/example_operation","response":{"@type":"types.example.com/response","result":"success"}}],"required":["name","done"]},"OperationStatus":{"description":"Status of a sub-operation (aliases, settings, or external members).","type":"object","properties":{"errors":{"type":["array","null"],"items":{"type":"string"}},"success":{"type":"boolean"}},"required":["success"]},"OrderBy":{"description":"OrderBy Enums.","type":"string","enum":["EMAIL"]},"OrderBy2":{"description":"OrderBy Enums:\nEMAIL: Primary email of the user.\nFAMILY_NAME: User's family name.\nGIVEN_NAME: User's given name.","oneOf":[{"description":"Primary email of the user.","type":"string","const":"EMAIL"},{"description":"User's family name.","type":"string","const":"FAMILY_NAME"},{"description":"User's given name.","type":"string","const":"GIVEN_NAME"}]},"OrgCardSettingsResponse":{"description":"The organization's card template: layout, brand colors, logo configuration, legal links, per-line icons, field governance, profile-sync flags, offboarding policy, PIN policy, and the current custom-domain status.","type":"object","properties":{"accent_color":{"description":"Accent brand color as an \"R,G,B\" string, or null when unset.","type":["string","null"]},"custom_domain":{"description":"Current custom-domain configuration and status for the organization.","allOf":[{"$ref":"#/components/schemas/CustomDomainStatusResponse"}]},"design_lock":{"description":"Who chooses each card's layout: the org locks it for everyone, an admin picks per person, or each employee picks their own.","allOf":[{"$ref":"#/components/schemas/CardDesignLockEnum"}]},"disclaimer_text":{"description":"Free-text legal disclaimer shown in the card footer, or null.","type":["string","null"]},"field_defaults":{"description":"Admin-supplied default field values keyed by field name."},"field_governance":{"description":"Per-field governance rules keyed by field name, each one of HIDDEN, LOCKED, EDITABLE, or OPTIONAL. Fields not listed behave as EDITABLE."},"field_icons":{"description":"Per-line icon choices, keyed by field name."},"grace_period_days":{"description":"Number of days a departed employee's card keeps serving normally before the offboarding policy takes effect.","type":"integer","format":"int32"},"layout":{"description":"Card layout for the organization: Classic Centered, Banner Hero, Bold Brand Header, or Minimal Flat.","allOf":[{"$ref":"#/components/schemas/CardLayoutEnum"}]},"logo_enabled":{"description":"Whether the company logo is shown on cards.","type":"boolean"},"logo_key":{"description":"Reference to the uploaded logo image used to display it, or null when no logo has been uploaded.","type":["string","null"]},"logo_placement":{"description":"Where the logo appears on the card: HEADER, BY_AVATAR, or NONE.","type":"string"},"offboarding_default":{"description":"What a card shows after the employee leaves: REDIRECT, GENERIC, or DIE.","allOf":[{"$ref":"#/components/schemas/CardOffboardingDefaultEnum"}]},"pin_allowed":{"description":"Whether employees may optionally protect their own card with a PIN.","type":"boolean"},"pin_required":{"description":"Whether every card in the org must be protected by a PIN.","type":"boolean"},"primary_color":{"description":"Primary brand color as an \"R,G,B\" string.","type":"string"},"privacy_url":{"description":"Link to your privacy policy shown in the card footer, or null.","type":["string","null"]},"sync_department":{"description":"Whether employee departments track their directory profile by default.","type":"boolean"},"sync_name":{"description":"Whether employee names track their directory profile by default.","type":"boolean"},"sync_title":{"description":"Whether employee job titles track their directory profile by default.","type":"boolean"},"tos_url":{"description":"Link to your terms of service shown in the card footer, or null.","type":["string","null"]}},"examples":[{"accent_color":"14,165,233","custom_domain":{"cname_target":"cards.shiftcontrol.io","hostname":"cards.acme.com","status":"PENDING","txt_record_name":"_cf-custom-hostname.cards.acme.com","txt_record_value":"a1b2c3d4-ownership-token"},"design_lock":"ORG_LOCKED","disclaimer_text":null,"field_defaults":{"website":"https://acme.com"},"field_governance":{"email":"LOCKED","phone":"OPTIONAL"},"field_icons":{"phone":"phone-outline"},"grace_period_days":30,"layout":"CLASSIC_CENTERED","logo_enabled":true,"logo_key":"org/3756d031-835e-45f5-a709-82ec7335957f/logo.png","logo_placement":"HEADER","offboarding_default":"GENERIC","pin_allowed":true,"pin_required":false,"primary_color":"12,74,110","privacy_url":"https://acme.com/privacy","sync_department":false,"sync_name":true,"sync_title":true,"tos_url":"https://acme.com/terms"}],"required":["layout","design_lock","primary_color","logo_enabled","logo_placement","field_icons","field_governance","field_defaults","sync_name","sync_title","sync_department","offboarding_default","grace_period_days","pin_required","pin_allowed","custom_domain"]},"OrgFeatureSettingItem":{"description":"A feature toggle the organization has explicitly configured. Features without a row use their built-in default (resolved on the client).","type":"object","properties":{"enabled":{"description":"Whether the feature is turned on for this organization.","type":"boolean"},"feature_key":{"description":"Stable identifier for the feature, e.g. 'org_chart'.","type":"string"},"settings":{"description":"Optional per-feature configuration."},"updated_at":{"description":"When this feature was last changed.","type":"string","format":"partial-date-time"}},"examples":[{"enabled":true,"feature_key":"org_chart","updated_at":"2025-01-31T04:36:29.466306"}],"required":["feature_key","enabled","updated_at"]},"OrgFeatureSettingsResponse":{"description":"Feature toggles the organization has explicitly configured. Features absent from this list use their built-in defaults.","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/OrgFeatureSettingItem"}}},"examples":[{"items":[{"enabled":true,"feature_key":"org_chart","updated_at":"2025-01-31T04:36:29.466306"}]}],"required":["items"]},"OrgRoleStructure":{"type":"string","enum":["single_role_in_hierarchy","multi_role"]},"OrgUnit":{"description":"Represents an organizational unit in Google Workspace.","type":"object","properties":{"blockInheritance":{"description":"Determines if a sub-organizational unit can inherit the settings of the parent organization. This field is deprecated.","type":["boolean","null"]},"description":{"description":"Description of the organizational unit.","type":"string"},"etag":{"description":"ETag of the resource.","type":"string"},"kind":{"description":"The type of the API resource. For Orgunits resources, the value is admin#directory#orgUnit.","type":"string"},"name":{"description":"The organizational unit's path name. For example, an organizational unit's name within the /corp/support/sales_support parent path is sales_support.","type":"string"},"orgUnitId":{"description":"The unique ID of the organizational unit.","type":"string"},"orgUnitPath":{"description":"The full path to the organizational unit.","type":"string"},"parentOrgUnitId":{"description":"The unique ID of the parent organizational unit.","type":"string"},"parentOrgUnitPath":{"description":"The organizational unit's parent path.","type":"string"}},"examples":[{"blockInheritance":false,"description":"Handles sales support operations.","etag":"\"etag_value\"","kind":"admin#directory#orgUnit","name":"sales_support","orgUnitId":"orgUnit123","orgUnitPath":"/corp/sales/sales_support","parentOrgUnitId":"parentOrgUnit456","parentOrgUnitPath":"/corp/sales"}],"required":["kind","name","description","etag","orgUnitId","orgUnitPath","parentOrgUnitId","parentOrgUnitPath"]},"Organization":{"description":"Represents an organization to which the user belongs. Maximum allowed data size is 10KB.","type":"object","properties":{"costCenter":{"description":"The cost center of the user's organization.","type":["string","null"]},"customType":{"description":"If the value of type is custom, this property contains the custom type.","type":["string","null"]},"department":{"description":"Specifies the department within the organization, such as sales or engineering.","type":["string","null"]},"description":{"description":"The description of the organization.","type":["string","null"]},"domain":{"description":"The domain the organization belongs to.","type":["string","null"]},"fullTimeEquivalent":{"description":"The full-time equivalent millipercent within the organization (100000 = 100%).","type":["integer","null"],"format":"int64"},"location":{"description":"The physical location of the organization. This does not need to be a fully qualified address.","type":["string","null"]},"name":{"description":"The name of the organization.","type":["string","null"]},"primary":{"description":"Indicates if this is the user's primary organization. Only one primary organization allowed.","type":["boolean","null"]},"symbol":{"description":"Text string symbol of the organization.","type":["string","null"]},"title":{"description":"The user's title within the organization.","type":["string","null"]},"type":{"description":"The type of organization. Acceptable values: domain_only, school, unknown, work.","type":["string","null"]}}},"Origin":{"description":"Where a membership row in the sidebar response came from.\n\n`Database` = a matching row exists in `group_memberships`.\n`Computed` = the row was derived from live dynamic-rule evaluation or\nnested-group graph walk, with no matching row in `group_memberships`.\nDrift is defined as `Computed`.","type":"string","enum":["database","computed"]},"OsVersionDetail":{"description":"Structured OS version detail","type":"object","properties":{"distributionName":{"type":["string","null"]},"major":{"type":["string","null"]},"majorNumber":{"type":["integer","null"],"format":"int64"},"minor":{"type":["string","null"]},"minorNumber":{"type":["integer","null"],"format":"int64"},"osName":{"type":["string","null"]},"patch":{"type":["string","null"]},"patchNumber":{"type":["integer","null"],"format":"int64"},"releaseName":{"type":["string","null"]},"revision":{"type":["string","null"]},"version":{"type":["string","null"]}},"examples":[{"major":"26","majorNumber":26,"minor":"5","minorNumber":5,"osName":"macOS","patch":"1","patchNumber":1,"releaseName":"Tahoe","revision":"25F80","version":"26.5.1"}]},"PaginationResult":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/App"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult10":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/GroupTag"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult11":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/GroupGlobalTag"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult12":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/GroupTagPurpose"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult13":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/IntegrationCatalog"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult14":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/Integration"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult15":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/Location2"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult16":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/Directory2"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult17":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/WorkItem"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult18":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/CustomField"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult19":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/Task"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult2":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/AppCatalog"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult3":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/AppDiscovery"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult4":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/OauthStatsDay"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult5":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/OauthStatsMonth"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult6":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/Department"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult7":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/Team"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult8":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/GoogleUserDeletionJobResponse"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"PaginationResult9":{"description":"A paginated list of items.","type":"object","properties":{"items":{"description":"The items returned by the request.","type":"array","items":{"$ref":"#/components/schemas/CompositeGroup"}},"num_pages":{"description":"The total number of pages.","type":"integer","format":"int64"},"page":{"description":"The current page, always starts at 0.","type":"integer","format":"int64"},"page_size":{"description":"The number of items on the current page.","type":"integer","format":"int64"},"total_items":{"description":"The total number of items that match the request.","type":"integer","format":"int64"}},"required":["items","total_items","page","page_size","num_pages"]},"Parameter":{"description":"Parameter value pairs for various applications.","type":"object","properties":{"boolValue":{"description":"Boolean value of the parameter.","type":["boolean","null"]},"intValue":{"description":"Integer value of the parameter in int64 format.","type":["string","null"]},"messageValue":{"description":"Nested parameter value pairs associated with this parameter.","anyOf":[{"$ref":"#/components/schemas/MessageValue"},{"type":"null"}]},"multiIntValue":{"description":"Integer values of the parameter in int64 format.","type":["array","null"],"items":{"type":"string"}},"multiMessageValue":{"description":"List of messageValue objects.","type":["array","null"],"items":{"$ref":"#/components/schemas/MessageValue"}},"multiValue":{"description":"String values of the parameter.","type":["array","null"],"items":{"type":"string"}},"name":{"description":"The name of the parameter.","type":"string"},"value":{"description":"String value of the parameter.","type":["string","null"]}},"required":["name"]},"PatchGroup":{"description":"Google Groups resource for patching a group in the Admin API. For more information about common tasks, see the Developer's Guide.","type":"object","properties":{"description":{"description":"An extended description to help users determine the purpose of a group. Maximum length is 4,096 characters.","type":["string","null"]},"email":{"description":"The group's email address.","type":["string","null"]},"name":{"description":"The group's display name.","type":["string","null"]}}},"PatchMember":{"description":"Resource: PatchMember\nA Google Groups member can be a user or another group. This member can be inside or outside of your account's domains.","type":"object","properties":{"email":{"description":"The member's email address. A member can be a user or another group. This property is required when adding a member to a group. The email must be unique and cannot be an alias of another group.","type":["string","null"]},"role":{"description":"The member's role in a group. Acceptable values are: MANAGER, MEMBER, OWNER.","type":["string","null"]}},"examples":[{"email":"member@example.com","role":null}]},"PatchWorkItemRequest":{"description":"Mutable fields on a work item exposed to admin clients. Reassignment uses assignee_user_id only — the assignee's email and name are resolved automatically. For nullable fields: omit to leave unchanged, send null to clear, or send a value to set it.","type":"object","properties":{"assignee_user_id":{"description":"Send a user ID to reassign the work item; the assignee's email and name are resolved automatically. Clearing the assignee is not supported. Omit to leave the assignee unchanged.","type":["string","null"],"format":"uuid","default":null},"description":{"description":"New description. Omit to leave unchanged, send null to clear, or send a value to set it.","type":["string","null"],"default":null},"due_date":{"description":"New due date. Omit to leave unchanged, send null to clear, or send a value to set it.","type":["string","null"],"format":"date","default":null},"status":{"description":"New status (TODO, IN_PROGRESS, BLOCKED, DONE, or CANCELED). Must be a valid transition from the current status.","type":["string","null"]},"title":{"description":"New title. Omit to leave the title unchanged.","type":["string","null"]}}},"PendingAuthorizationRequest":{"description":"A delegated OAuth authorization request awaiting completion, sourced from oauth_states for the onboarding Connect Google Workspace step","type":"object","properties":{"createdAt":{"description":"When the delegation request was created","type":"string","format":"partial-date-time"},"delegateEmail":{"description":"Email of the delegate the authorization link was sent to; null for the self-send / shared-link path (the UI renders \"Shared link (no email)\")","type":["string","null"]},"delegationUrl":{"description":"ShiftControl delegation landing link to copy and share with an admin; lands them on a public instructions page that renders the setup instructions and the Google OAuth authorization URL","type":"string"},"expiresAt":{"description":"When the delegation request expires; an expired request disables the Copy link action in the UI","type":"string","format":"partial-date-time"},"id":{"description":"The oauth_states row id","type":"string","format":"uuid"}},"examples":[{"createdAt":"2024-10-08T09:16:13","delegateEmail":"admin@example.com","delegationUrl":"https://app.shiftcontrol.io/onboarding/oauth-delegate/3756d031-835e-45f5-a709-82ec7335957f/9f8e7d6c5b4a39281706f5e4d3c2b1a0","expiresAt":"2024-10-10T09:16:13","id":"3756d031-835e-45f5-a709-82ec7335957f"}],"required":["id","createdAt","expiresAt","delegationUrl"]},"Phone":{"description":"Represents a phone number associated with the user. Maximum allowed data size is 1KB.","type":"object","properties":{"customType":{"description":"If the phone number type is custom, this property contains the custom value and must be set.","type":["string","null"]},"primary":{"description":"If true, this is the user's primary phone number.","type":["boolean","null"]},"type":{"description":"The type of phone number. Acceptable values: assistant, callback, car, company_main, custom, grand_central, home, home_fax, isdn, main, mobile, other, other_fax, pager, radio, telex, tty_tdd, work, work_fax, work_mobile, work_pager.","type":["string","null"]},"value":{"description":"A human-readable phone number.","type":["string","null"]}}},"PhoneNumbers":{"type":"object","properties":{"id":{"type":["string","null"]},"number":{"type":["string","null"]},"type":{"type":["string","null"]}}},"PolicyStats":{"description":"Policy state counts","type":"object","properties":{"duplicate":{"type":["integer","null"],"format":"int64"},"failed":{"type":["integer","null"],"format":"int64"},"pending":{"type":["integer","null"],"format":"int64"},"success":{"type":["integer","null"],"format":"int64"},"total":{"type":["integer","null"],"format":"int64"},"unsupportedOs":{"type":["integer","null"],"format":"int64"}},"examples":[{"duplicate":0,"failed":0,"pending":1,"success":7,"total":8,"unsupportedOs":0}]},"PosixAccount":{"description":"Represents POSIX account information for the user.","type":"object","properties":{"accountId":{"description":"A POSIX account field identifier.","type":["string","null"]},"gecos":{"description":"The GECOS (user information) for this account.","type":["string","null"]},"gid":{"description":"The default group ID.","type":["integer","null"],"format":"uint64","minimum":0},"homeDirectory":{"description":"The path to the home directory for this account.","type":["string","null"]},"operatingSystemType":{"description":"The operating system type for this account. Acceptable values: linux, unspecified, windows.","type":["string","null"]},"primary":{"description":"If this is the user's primary account within the SystemId.","type":["boolean","null"]},"shell":{"description":"The path to the login shell for this account.","type":["string","null"]},"systemId":{"description":"System identifier for which account Username or Uid apply to.","type":["string","null"]},"uid":{"description":"The POSIX compliant user ID.","type":["integer","null"],"format":"uint64","minimum":0},"username":{"description":"The username of the account.","type":["string","null"]}}},"PostCommentRequest":{"description":"Body for posting a comment on a work item. The body must not be empty or whitespace-only.","type":"object","properties":{"body":{"description":"Plain-text comment body. Required and must be non-empty after trim.","type":"string"}},"required":["body"]},"PrimarySystemUser":{"description":"Primary system user reference","type":"object","properties":{"id":{"type":["string","null"]}},"examples":[{"id":"5f0c00000000000000000003"}]},"Privilege":{"description":"Represents a privilege in the Google Workspace Admin SDK.","type":"object","properties":{"childPrivileges":{"description":"Optional. A list of child privileges. Privileges for a service form a tree. Each privilege can have a list of child privileges; this list is empty for a leaf privilege.","type":["array","null"],"items":{"$ref":"#/components/schemas/Privilege"}},"etag":{"description":"ETag of the resource.","type":"string"},"isOuScopable":{"description":"If the privilege can be restricted to an organization unit.","type":"boolean"},"kind":{"description":"The type of the API resource. This is always admin#directory#privilege.","type":"string"},"privilegeName":{"description":"The name of the privilege.","type":"string"},"serviceId":{"description":"The obfuscated ID of the service this privilege is for.","type":"string"},"serviceName":{"description":"Optional. The name of the service this privilege is for.","type":["string","null"]}},"examples":[{"childPrivileges":[],"etag":"\"etag_value\"","isOuScopable":true,"kind":"admin#directory#privilege","privilegeName":"ManageUsers","serviceId":"service123","serviceName":"Admin SDK"}],"required":["serviceId","kind","etag","isOuScopable","privilegeName"]},"Projection":{"description":"Projection Enums:\nBASIC: Do not include any custom fields for the user.\nCUSTOM: Include custom fields from schemas requested in customFieldMask.\nFULL: Include all fields associated with this user.","oneOf":[{"description":"Do not include any custom fields for the user.","type":"string","const":"BASIC"},{"description":"Include custom fields from schemas requested in customFieldMask.","type":"string","const":"CUSTOM"},{"description":"Include all fields associated with this user.","type":"string","const":"FULL"}]},"PropagationFailureCount":{"description":"Count of failures during propagation operations","type":"object","properties":{"google_user_update_failures":{"description":"Number of Google users that failed to update during propagation","type":["integer","null"],"format":"uint32","minimum":0},"jumpcloud_user_update_failures":{"description":"Number of JumpCloud users that failed to update during propagation","type":["integer","null"],"format":"uint32","minimum":0}},"examples":[{"google_user_update_failures":2,"jumpcloud_user_update_failures":1}]},"PushCredential":{"description":"A push credential for a user.","type":"object","properties":{"device":{"$ref":"#/components/schemas/Device"},"enrollmentDate":{"type":"string"},"id":{"type":"string"},"lastUsedDate":{"type":"string"},"name":{"type":"string"},"state":{"type":"string"}},"examples":[{"device":{"appVersion":"2.2.8","make":"Apple","model":"iPhone","os":"ios","osVersion":"18.3.1","uvEnabled":false},"enrollmentDate":"2025-01-10T08:04:21.435Z","id":"1234567890abcdef12345678","lastUsedDate":"2025-03-11T00:13:11.481Z","name":"Device 1","state":"active"}],"required":["id","state","name","device","enrollmentDate","lastUsedDate"]},"QrDownloadAsset":{"description":"A single downloadable QR code with its size, format, link, and expiry.","type":"object","properties":{"expires_at":{"description":"When the download link expires and must be requested again.","type":"string","format":"partial-date-time"},"format":{"description":"The image format of this asset: \"png\" or \"svg\".","type":"string"},"size":{"description":"The QR size: a pixel edge length (\"256\", \"512\", \"1024\", \"2048\") for the raster image, or \"svg\" for the scalable version.","type":"string"},"url":{"description":"Time-limited link to download this QR image.","type":"string"}},"examples":[{"expires_at":"2025-01-01T12:00:00","format":"png","size":"512","url":"https://assets.shiftcontrol.io/qr/n3xqz7kp2m4w/512.png?signature=..."}],"required":["size","format","url","expires_at"]},"QrDownloadResponse":{"description":"Downloadable QR codes for a card: a time-limited link for each requested size.","type":"object","properties":{"assets":{"description":"One downloadable QR asset per requested size.","type":"array","items":{"$ref":"#/components/schemas/QrDownloadAsset"}}},"examples":[{"assets":[{"expires_at":"2025-01-01T12:00:00","format":"png","size":"512","url":"https://assets.shiftcontrol.io/qr/n3xqz7kp2m4w/512.png?signature=..."},{"expires_at":"2025-01-01T12:00:00","format":"svg","size":"svg","url":"https://assets.shiftcontrol.io/qr/n3xqz7kp2m4w/card.svg?signature=..."}]}],"required":["assets"]},"QrSizeQuery":{"description":"Which QR size to download; omit to receive every available size.","type":"object","properties":{"size":{"description":"A single QR size to download: a pixel edge length (\"256\", \"512\", \"1024\", \"2048\") for the raster image, or \"svg\" for the scalable version. Omit to receive every size.","type":["string","null"]}}},"ReachabilitySignal":{"description":"How recently the device checked in. Critical when it hasn't been seen for over a week or isn't reporting health telemetry.","type":"object","properties":{"lastContact":{"description":"Timestamp of the device's last check-in, if it has ever checked in.","type":["string","null"]},"status":{"$ref":"#/components/schemas/HealthStatus"},"telemetryEnabled":{"description":"Whether the device is reporting detailed health telemetry. When off, most other signals can't be evaluated.","type":"boolean"}},"required":["status","telemetryEnabled"]},"RecoveryEmail":{"type":"object","properties":{"address":{"type":["string","null"]},"verified":{"type":["boolean","null"]},"verifiedAt":{"type":["string","null"]}}},"RedirectCondition":{"description":"Controls redirection to the IdP.","oneOf":[{"description":"Default and means 'always'.","type":"string","const":"REDIRECT_CONDITION_UNSPECIFIED"},{"description":"Sign-in flows where the user is prompted for their identity will not redirect to the IdP.","type":"string","const":"NEVER"}]},"RegenerateLink":{"description":"Acknowledge that regenerating the link permanently retires the current URL before issuing a new one.","type":"object","properties":{"ack":{"description":"Must be true to proceed. Confirms you understand the current link will stop working immediately and cannot be brought back.","type":"boolean"}},"examples":[{"ack":true}],"required":["ack"]},"Relation":{"description":"Represents a relationship of the user to another person. Maximum allowed data size is 2KB.","type":"object","properties":{"customType":{"description":"If the relationship type is custom, this property contains the custom value and must be set.","type":["string","null"]},"type":{"description":"The type of relationship. Acceptable values: admin_assistant, assistant, brother, child, custom, domestic_partner, dotted_line_manager, exec_assistant, father, friend, manager, mother, parent, partner, referred_by, relative, sister, spouse.","type":["string","null"]},"value":{"description":"The email address of the person the user is related to.","type":"string"}},"required":["value"]},"Relationships":{"type":"object","properties":{"type":{"type":["string","null"]},"value":{"type":["string","null"]}}},"ReplyTo":{"description":"Specifies who receives the default reply.","oneOf":[{"description":"For replies to messages, use the group's custom email address. When the group's ReplyTo property is set to REPLY_TO_CUSTOM, the customReplyTo property holds the custom email address used when replying to a message. If the group's ReplyTo property is set to REPLY_TO_CUSTOM, the customReplyTo property must have a value. Otherwise an error is returned.","type":"string","const":"REPLY_TO_CUSTOM"},{"description":"The reply is sent to the author of the message.","type":"string","const":"REPLY_TO_SENDER"},{"description":"This reply message is sent to the group.","type":"string","const":"REPLY_TO_LIST"},{"description":"The reply is sent to the owner(s) of the group. This does not include the group's managers.","type":"string","const":"REPLY_TO_OWNER"},{"description":"Group users individually decide where the message reply is sent.","type":"string","const":"REPLY_TO_IGNORE"},{"description":"This reply message is sent to the group's managers, which includes all managers and the group owner.","type":"string","const":"REPLY_TO_MANAGERS"}]},"RequestV1QueryFields":{"type":"object","properties":{"fields":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":["string","null"]}}},"RequestV1QueryFieldsFilter":{"type":"object","properties":{"fields":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":["string","null"]},"filter":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":["string","null"]}}},"RequestV1QueryFieldsLimitSkipFilter":{"type":"object","properties":{"filter":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":["string","null"]},"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0}}},"RequestV1QueryFieldsLimitSkipSort":{"type":"object","properties":{"fields":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":["string","null"]},"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0},"sort":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":["string","null"]}}},"RequestV1QueryFieldsLimitSkipSortFilter":{"type":"object","properties":{"fields":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":["string","null"]},"filter":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":["string","null"]},"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0},"sort":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":["string","null"]}}},"RequestV1QueryFieldsLimitSkipSortFilterCount":{"type":"object","properties":{"countOnly":{"description":"Set to true if you'd like to only see a count per item.","type":["boolean","null"]},"fields":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":["string","null"]},"filter":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":["string","null"]},"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0},"sort":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":["string","null"]}}},"RequestV1QueryFieldsLimitSkipSortFilterSearch":{"type":"object","properties":{"fields":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":["string","null"]},"filter":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":["string","null"]},"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"search":{"description":"A nested object containing a searchTerm string or array of strings and a list of fields to search on.","type":["string","null"]},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0},"sort":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":["string","null"]}}},"RequestV2QueryDetailsLimitSkipFilter":{"type":"object","properties":{"details":{"description":"Level of detail to return. See JumpCloud API docs for supported values (e.g. \"v1\").","type":["string","null"]},"filter":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":["string","null"]},"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0}}},"RequestV2QueryFieldsLimitSkipSort":{"type":"object","properties":{"fields":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":["string","null"]},"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0},"sort":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":["string","null"]}}},"RequestV2QueryFieldsLimitSkipSortFilter":{"type":"object","properties":{"fields":{"description":"The space separated fields included in the returned records. If omitted the default list of fields will be returned.","type":["string","null"]},"filter":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":["string","null"]},"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0},"sort":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":["string","null"]}}},"RequestV2QueryLimitSkip":{"type":"object","properties":{"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0}}},"RequestV2QueryLimitSkipFilter":{"type":"object","properties":{"filter":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":["string","null"]},"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0}}},"RequestV2QueryLimitSkipFilterSort":{"type":"object","properties":{"filter":{"description":"A filter to apply to the query. See JumpCloud API docs for examples.","type":["string","null"]},"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0},"sort":{"description":"The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending.","type":["string","null"]}}},"RequestV2QueryTargetsLimitSkip":{"type":"object","properties":{"limit":{"description":"The number of records to return at once. Limited to 100. Defaults to 10.","type":["integer","null"],"format":"uint","minimum":0},"skip":{"description":"The offset into the records to return. Defaults to 0.","type":["integer","null"],"format":"uint","minimum":0},"targets":{"description":"Targets which this item can be associated to. See JumpCloud API docs for examples.","type":["string","null"]}}},"RequestV2Users":{"type":"object","properties":{"users":{"description":"A space separated list of JumpCloud userIds.","type":["string","null"]}}},"RequestableAppResponse":{"description":"An app a member can browse and request access to from the catalog.","type":"object","properties":{"description":{"description":"Short description of what the app is for, if available.","type":["string","null"]},"id":{"description":"Stable identifier of the app, used when requesting access.","type":"string","format":"uuid"},"logo_url":{"description":"URL of the app's logo, if available.","type":["string","null"]},"name":{"description":"Display name of the app.","type":"string"},"primary_admin":{"description":"The person who reviews access requests for this app, if set.","anyOf":[{"$ref":"#/components/schemas/UserReference"},{"type":"null"}]}},"examples":[{"description":"Team workspace for notes, docs, and project management.","id":"019223a6-41a4-7b2f-afd5-0cbcb9d48ebe","logo_url":"https://img.logo.dev/notion.so","name":"Notion","primary_admin":{"directory_id":"00000000-0000-0000-0000-000000000000","user_id":"665970bc72c298d6cafc59bf"}}],"required":["id","name"]},"ResetTOTPCredential":{"type":"object","properties":{"exclusion":{"type":"boolean"},"exclusionUntil":{"description":"The date until which the user is excluded from MFA enrollment in ISO 8601 format","type":"string"}},"examples":[{"exclusion":true,"exclusionUntil":"2024-10-20T10:16:24.945Z"}],"required":["exclusion","exclusionUntil"]},"ResolvedGroupMember":{"description":"A resolved group member — deduplicated across static, nested, and dynamic sources.","type":"object","properties":{"composite_group_id":{"description":"The composite group this member was resolved for","type":"string","format":"uuid"},"directory_id":{"description":"The directory ID the member was resolved from","type":"string","format":"uuid"},"org_id":{"description":"The organization ID","type":"string","format":"uuid"},"user_id":{"description":"The user's external ID from the downstream directory","type":"string"}},"required":["user_id","composite_group_id","org_id","directory_id"]},"RestrictedFields":{"type":"object","properties":{"field":{"type":["string","null"]},"id":{"type":["string","null"]},"type":{"type":["string","null"]}}},"Role":{"description":"Google Admin SDK Role resource representing a role in the Admin API.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"isSuperAdminRole":{"description":"Returns true if the role is a super admin role.","type":"boolean"},"isSystemRole":{"description":"Returns true if this is a pre-defined system role.","type":"boolean"},"kind":{"description":"The type of the API resource. This is always admin#directory#role.","type":"string"},"roleDescription":{"description":"A short description of the role.","type":["string","null"]},"roleId":{"description":"ID of the role.","type":"string"},"roleName":{"description":"Name of the role.","type":"string"},"rolePrivileges":{"description":"The set of privileges that are granted to this role.","type":"array","items":{"$ref":"#/components/schemas/RolePrivilege"}}},"required":["roleId","roleName","rolePrivileges","isSystemRole","isSuperAdminRole","kind","etag"]},"RoleAssignment":{"type":"object","properties":{"assignedTo":{"description":"The unique ID of the entity this role is assigned to—either the userId of a user, the groupId of a group, or the uniqueId of a service account as defined in Identity and Access Management (IAM).","type":"string"},"assigneeType":{"description":"The type of the assignee (USER or GROUP).","allOf":[{"$ref":"#/components/schemas/AssigneeType"}]},"condition":{"description":"Optional. The condition associated with this role assignment.","type":["string","null"]},"etag":{"description":"ETag of the resource.","type":"string"},"kind":{"description":"The type of the API resource. This is always admin#directory#roleAssignment.","type":"string"},"orgUnitId":{"description":"Optional. If the role is restricted to an organization unit, this contains the ID for the organization unit the exercise of this role is restricted to.","type":["string","null"]},"roleAssignmentId":{"description":"ID of this roleAssignment.","type":"string"},"roleId":{"description":"The ID of the role that is assigned.","type":"string"},"scopeType":{"description":"The scope in which this role is assigned. Acceptable values are: CUSTOMER, ORG_UNIT.","type":"string"}},"examples":[{"assignedTo":"user@example.com","assigneeType":"user","condition":"api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.security']) && resource.type == 'cloudidentity.googleapis.com/Group'","etag":"\"etag_value\"","kind":"admin#directory#roleAssignment","orgUnitId":"org_unit_id","roleAssignmentId":"123456789","roleId":"987654321","scopeType":"CUSTOMER"}],"required":["roleAssignmentId","roleId","kind","etag","assignedTo","assigneeType","scopeType"]},"RolePrivilege":{"description":"Represents a privilege associated with a role.","type":"object","properties":{"privilegeName":{"description":"The name of the privilege.","type":"string"},"serviceId":{"description":"The obfuscated ID of the service this privilege is for.","type":"string"}},"required":["serviceId","privilegeName"]},"RsaPublicKeyInfo":{"description":"Represents information of a RSA public key.","type":"object","properties":{"keySize":{"description":"Key size in bits (size of the modulus).","type":"integer","format":"int32"}},"examples":[{"keySize":2048}],"required":["keySize"]},"SSHKeys":{"type":"object","properties":{"_id":{"type":["string","null"]},"createDate":{"type":["string","null"]},"name":{"type":["string","null"]},"publicKey":{"type":["string","null"]}}},"SamlIdpConfig":{"description":"SAML IDP (identity provider) configuration.","type":"object","properties":{"changePasswordUri":{"description":"The Change Password URL of the identity provider. Must use HTTPS.","type":["string","null"]},"entityId":{"description":"The SAML Entity ID of the identity provider.","type":"string"},"logoutRedirectUri":{"description":"The Logout Redirect URL (sign-out page URL) of the identity provider. Must use HTTPS.","type":["string","null"]},"singleSignOnServiceUri":{"description":"The SingleSignOnService endpoint location (sign-in page URL) of the identity provider. Must use HTTPS.","type":"string"}},"examples":[{"changePasswordUri":"https://idp.example.com/change-password","entityId":"https://idp.example.com/entity","logoutRedirectUri":"https://idp.example.com/logout","singleSignOnServiceUri":"https://idp.example.com/sso"}],"required":["entityId","singleSignOnServiceUri"]},"SamlSpConfig":{"description":"SAML SP (service provider) configuration.","type":"object","properties":{"assertionConsumerServiceUri":{"description":"The SAML Assertion Consumer Service (ACS) URL to be used for the IDP-initiated login. (Output only)","type":["string","null"]},"entityId":{"description":"The SAML Entity ID for this service provider. (Output only)","type":["string","null"]}},"examples":[{"assertionConsumerServiceUri":"https://sp.example.com/acs","entityId":"https://sp.example.com/entity"}]},"SamlSsoInfo":{"description":"Details that are applicable when ssoMode == SAML_SSO.","type":"object","properties":{"inboundSamlSsoProfile":{"description":"Required. Name of the InboundSamlSsoProfile to use. Must be of the form inboundSamlSsoProfiles/{inboundSamlSsoProfile}.","type":"string"}},"examples":[{"inboundSamlSsoProfile":"inboundSamlSsoProfiles/123"}],"required":["inboundSamlSsoProfile"]},"ScheduledUserStateResult":{"description":"Scheduled User State Result","type":"object","properties":{"scheduledDate":{"type":"string"},"scheduledJobId":{"type":"string"},"state":{"type":"string"},"systemUserId":{"type":"string"}},"examples":[{"scheduledDate":"2025-07-11T16:00:00.000Z","scheduledJobId":"67a8554b12e4550001ba9346","state":"ACTIVATED","systemUserId":"66597a825828431c8457dc86"}],"required":["scheduledDate","scheduledJobId","state","systemUserId"]},"Schema":{"description":"Represents a schema in the Google Workspace Admin SDK.","type":"object","properties":{"displayName":{"description":"Display name for the schema.","type":["string","null"]},"etag":{"description":"The ETag of the resource.","type":["string","null"]},"fields":{"description":"A list of fields in the schema.","type":"array","items":{"$ref":"#/components/schemas/SchemaFieldSpec"}},"kind":{"description":"Kind of resource this is.","type":["string","null"]},"schemaId":{"description":"The unique identifier of the schema (Read-only).","type":["string","null"]},"schemaName":{"description":"The schema's name.","type":"string"}},"examples":[{"displayName":"Example Schema","etag":"\"etag_value\"","fields":[{"displayName":"Example Field","etag":"\"etag_value\"","fieldId":"field123","fieldName":"exampleField","fieldType":"STRING","indexed":true,"kind":"admin#directory#schema#fieldspec","multiValued":false,"numericIndexingSpec":{"maxValue":100.0,"minValue":0.0},"readAccessType":"ADMINS_AND_SELF"}],"kind":"admin#directory#schema","schemaId":"schema123","schemaName":"exampleSchema"}],"required":["schemaName","fields"]},"SchemaFieldSpec":{"description":"Represents a schema field specification in the Google Workspace Admin SDK.","type":"object","properties":{"displayName":{"description":"Display Name of the field.","type":"string"},"etag":{"description":"The ETag of the field.","type":["string","null"]},"fieldId":{"description":"The unique identifier of the field (Read-only).","type":["string","null"]},"fieldName":{"description":"The name of the field.","type":"string"},"fieldType":{"description":"The type of the field.","type":"string"},"indexed":{"description":"Boolean specifying whether the field is indexed or not. Default: true.","type":"boolean"},"kind":{"description":"The kind of resource this is. For schema fields this is always admin#directory#schema#fieldspec.","type":["string","null"]},"multiValued":{"description":"A boolean specifying whether this is a multi-valued field or not. Default: false.","type":"boolean"},"numericIndexingSpec":{"description":"Indexing spec for a numeric field.","anyOf":[{"$ref":"#/components/schemas/NumericIndexingSpec"},{"type":"null"}]},"readAccessType":{"description":"Specifies who can view values of this field.","type":"string"}},"examples":[{"displayName":"Example Field","etag":"\"etag_value\"","fieldId":"field123","fieldName":"exampleField","fieldType":"STRING","indexed":true,"kind":"admin#directory#schema#fieldspec","multiValued":false,"numericIndexingSpec":{"maxValue":100.0,"minValue":0.0},"readAccessType":"ADMINS_AND_SELF"}],"required":["fieldName","fieldType","multiValued","indexed","displayName","readAccessType"]},"SecureBootSignal":{"description":"Hardware boot security: Secure Boot and the presence of a Trusted Platform Module (TPM). Critical when either is reported off.","type":"object","properties":{"secureBoot":{"description":"Whether Secure Boot is enabled, when reported.","type":["boolean","null"]},"status":{"$ref":"#/components/schemas/HealthStatus"},"tpm":{"description":"Whether a TPM security chip is enabled, when reported.","type":["boolean","null"]}},"required":["status"]},"SecureLogin":{"description":"Secure login capability state","type":"object","properties":{"enabled":{"type":["boolean","null"]},"supported":{"type":["boolean","null"]}},"examples":[{"enabled":false,"supported":true}]},"SelectOption":{"type":"object","properties":{"text":{"type":["string","null"]},"value":{"type":["integer","null"],"format":"int64"}}},"SendPasswordResetRequest":{"description":"Request body for sending a password reset email for a Google Workspace user","type":"object","properties":{"recipient_email":{"description":"Email address to send the password reset notification to","type":"string"},"temporary_password":{"description":"New password that was set on the Google user account","type":"string"},"user_full_name":{"description":"Full display name of the Google user","type":"string"},"user_primary_email":{"description":"The user's primary Google Workspace email (their login)","type":"string"}},"required":["recipient_email","user_full_name","user_primary_email","temporary_password"]},"SendSignInInstructionsRequest":{"description":"Request body for sending sign-in instructions to a Google Workspace user","type":"object","properties":{"recipient_email":{"description":"Email address to send the sign-in instructions to","type":"string"},"temporary_password":{"description":"Temporary password to set on the Google user account. Must meet Google Workspace password requirements (8+ chars, mixed case, digit, special char).","type":"string"},"user_full_name":{"description":"Full display name of the Google user","type":"string"},"user_primary_email":{"description":"The user's primary Google Workspace email (their login)","type":"string"}},"required":["recipient_email","user_full_name","user_primary_email","temporary_password"]},"ServiceAccountState":{"description":"JumpCloud service-account health state","type":"object","properties":{"hasSecureToken":{"type":["boolean","null"]},"passwordAPFSValid":{"type":["boolean","null"]},"passwordODValid":{"type":["boolean","null"]}},"examples":[{"hasSecureToken":true,"passwordAPFSValid":true,"passwordODValid":true}]},"SetCardPin":{"description":"Set the PIN that must be entered before this card's contents are shown.","type":"object","properties":{"pin":{"description":"The PIN to require before the card is shown. Must not be empty; it is stored securely and never returned.","type":"string"}},"examples":[{"pin":"4821"}],"required":["pin"]},"SetCustomDomain":{"description":"Set the hostname you want to serve your organization's cards from, e.g. cards.acme.com.","type":"object","properties":{"hostname":{"description":"The hostname to serve your cards from, for example \"cards.acme.com\".","type":"string"}},"examples":[{"hostname":"cards.acme.com"}],"required":["hostname"]},"SetPassword":{"type":"object","properties":{"password":{"description":"A password that meets the minimum requirements.","type":"string"}},"examples":[{"password":"abcdefg01234567890!@#$%^&*()"}],"required":["password"]},"SignInBehavior":{"description":"Controls sign-in behavior.","type":"object","properties":{"redirectCondition":{"description":"When to redirect sign-ins to the IdP.","allOf":[{"$ref":"#/components/schemas/RedirectCondition"}]}},"examples":[{"redirectCondition":"REDIRECT_CONDITION_UNSPECIFIED"}],"required":["redirectCondition"]},"SortOrder":{"description":"SortOrder Enums.","type":"string","enum":["ASCENDING","DESCENDING"]},"SortOrder2":{"description":"SortOrder Enums:\nASCENDING: Ascending order.\nDESCENDING: Descending order.","oneOf":[{"description":"Ascending order.","type":"string","const":"ASCENDING"},{"description":"Descending order.","type":"string","const":"DESCENDING"}]},"SpamModerationLevel":{"description":"Specifies moderation levels for messages detected as spam.","oneOf":[{"description":"Post the message to the group.","type":"string","const":"ALLOW"},{"description":"Send the message to the moderation queue. This is the default.","type":"string","const":"MODERATE"},{"description":"Send the message to the moderation queue, but do not send notification to moderators.","type":"string","const":"SILENTLY_MODERATE"},{"description":"Immediately reject the message.","type":"string","const":"REJECT"}]},"SshPublicKey":{"description":"Represents an SSH public key entry for the user.","type":"object","properties":{"expirationTimeUsec":{"description":"An expiration time in microseconds since epoch.","type":["integer","null"],"format":"int64"},"fingerprint":{"description":"A SHA-256 fingerprint of the SSH public key. (Read-only)","type":["string","null"]},"key":{"description":"An SSH public key.","type":["string","null"]}}},"SshdParam":{"description":"sshd configuration parameter","type":"object","properties":{"name":{"type":["string","null"]},"value":{"type":["string","null"]}},"examples":[{"name":"PasswordAuthentication","value":"no"}]},"SsoMode":{"description":"Inbound SSO behaviors.","oneOf":[{"description":"Not allowed.","type":"string","const":"SSO_MODE_UNSPECIFIED"},{"description":"Disable SSO for the targeted users.","type":"string","const":"SSO_OFF"},{"description":"Use an external SAML Identity Provider for SSO for the targeted users.","type":"string","const":"SAML_SSO"},{"description":"Use the domain-wide SAML Identity Provider for the targeted users if one is configured.","type":"string","const":"DOMAIN_WIDE_SAML_IF_ENABLED"}]},"StabilitySignal":{"description":"Stability based on how long the device has been running without a restart. Long uptimes can mean pending updates haven't been applied.","type":"object","properties":{"status":{"$ref":"#/components/schemas/HealthStatus"},"uptimeDays":{"description":"Days since the device last restarted.","type":["integer","null"],"format":"int64"}},"required":["status"]},"StaticClaim":{"type":"object","properties":{"isStandard":{"type":["boolean","null"]},"name":{"type":"string"},"value":{"anyOf":[{"$ref":"#/components/schemas/ClaimValue"},{"type":"null"}]}},"required":["name"]},"Status":{"description":"Defines a logical error model suitable for REST and RPC APIs.","type":"object","properties":{"code":{"description":"The status code, which should be an enum value of google.rpc.Code.","type":"integer","format":"int32"},"details":{"description":"A list of messages carrying the error details.","type":["array","null"],"items":{"type":"object","additionalProperties":true}},"message":{"description":"A developer-facing error message in English.","type":"string"}},"examples":[{"code":404,"details":[{"@type":"types.example.com/error","reason":"Not Found"}],"message":"Resource not found"}],"required":["code","message"]},"SubscriptionChannel":{"description":"An notification channel used to watch for resource changes.","type":"object","properties":{"address":{"description":"The address where notifications are delivered for this channel. Required in requests, may be omitted in responses.","type":["string","null"]},"expiration":{"description":"Date and time of notification channel expiration (Unix timestamp in ms) as a string. Optional.","type":["string","null"]},"id":{"description":"A UUID or similar unique string that identifies this channel.","type":"string"},"kind":{"description":"Identifies this as a notification channel used to watch for changes. Value is api#channel.","type":"string"},"params":{"description":"Additional parameters controlling delivery channel behavior. Optional."},"payload":{"description":"Indicates whether payload is wanted. Optional.","type":["boolean","null"]},"resourceId":{"description":"An opaque ID that identifies the resource being watched on this channel.","type":"string"},"resourceUri":{"description":"A version-specific identifier for the watched resource.","type":"string"},"token":{"description":"An arbitrary string delivered to the target address with each notification. Optional.","type":["string","null"]},"type":{"description":"The type of delivery mechanism used for this channel. Required in requests, may be omitted in responses.","type":["string","null"]}},"examples":[{"address":"https://example.com/callback","expiration":"1234567890000","id":"test_id","kind":"api#channel","params":{"ttl":"3600"},"payload":true,"resourceId":"test_resource_id","resourceUri":"https://admin.googleapis.com/admin/directory/v1/users/test","token":"test_token","type":"webhook"}],"required":["id","resourceId","resourceUri","kind"]},"SuccessFailureCountMessage":{"description":"Success and Failure Count","type":"object","properties":{"failure_count":{"type":"integer","format":"int64"},"success_count":{"type":"integer","format":"int64"}},"examples":[{"failure_count":2,"success_count":10}],"required":["success_count","failure_count"]},"SudoSetting":{"description":"Sudo (administrator) elevation for a device binding.\n\n- `enabled: false` → standard user, no elevation.\n- `enabled: true, without_password: false` → administrator / sudo access.\n- `enabled: true, without_password: true` → passwordless sudo.","type":"object","properties":{"enabled":{"type":"boolean"},"withoutPassword":{"type":"boolean"}},"required":["enabled","withoutPassword"]},"SuggestionCounts":{"type":"object","properties":{"add":{"type":["integer","null"],"format":"int64"},"remove":{"type":["integer","null"],"format":"int64"},"total":{"type":["integer","null"],"format":"int64"}}},"System":{"description":"JumpCloud System (Device)","type":"object","properties":{"_id":{"description":"v1 responses carry both `_id` and `id` with the same value.","type":["string","null"]},"acknowledged":{"type":["boolean","null"]},"active":{"type":["boolean","null"]},"agentHasFullDiskAccess":{"type":["boolean","null"]},"agentVersion":{"type":["string","null"]},"allowMultiFactorAuthentication":{"type":["boolean","null"]},"allowPublicKeyAuthentication":{"type":["boolean","null"]},"allowSshPasswordAuthentication":{"type":["boolean","null"]},"allowSshRootLogin":{"type":["boolean","null"]},"amazonInstanceID":{"type":["string","null"]},"arch":{"type":["string","null"]},"archFamily":{"type":["string","null"]},"attributes":{"type":["array","null"],"items":{"$ref":"#/components/schemas/SystemAttribute"}},"azureAdJoined":{"type":["boolean","null"]},"azureAdTenantId":{"type":["string","null"]},"builtInCommands":{"type":["array","null"],"items":{"$ref":"#/components/schemas/BuiltInCommand"}},"connectionHistory":{"description":"Spec types entries as free-form objects.","type":["array","null"],"items":true},"created":{"type":["string","null"]},"description":{"type":["string","null"]},"desktopCapable":{"type":["boolean","null"]},"displayManager":{"type":["string","null"]},"displayName":{"type":["string","null"]},"domainInfo":{"anyOf":[{"$ref":"#/components/schemas/DomainInfo"},{"type":"null"}]},"fde":{"anyOf":[{"$ref":"#/components/schemas/FdeStatus"},{"type":"null"}]},"fileSystem":{"type":["string","null"]},"hasServiceAccount":{"type":["boolean","null"]},"hostname":{"type":["string","null"]},"hwVendor":{"type":["string","null"]},"id":{"type":["string","null"]},"isPolicyBound":{"type":["boolean","null"]},"lastContact":{"type":["string","null"]},"mdm":{"anyOf":[{"$ref":"#/components/schemas/MdmInfo"},{"type":"null"}]},"modifySSHDConfig":{"type":["boolean","null"]},"networkInterfaces":{"type":["array","null"],"items":{"$ref":"#/components/schemas/NetworkInterface"}},"organization":{"type":["string","null"]},"os":{"type":["string","null"]},"osFamily":{"type":["string","null"]},"osVersionDetail":{"anyOf":[{"$ref":"#/components/schemas/OsVersionDetail"},{"type":"null"}]},"policyStats":{"anyOf":[{"$ref":"#/components/schemas/PolicyStats"},{"type":"null"}]},"primarySystemUser":{"anyOf":[{"$ref":"#/components/schemas/PrimarySystemUser"},{"type":"null"}]},"provisionMetadata":{"description":"Spec gives `provisioner` no concrete shape."},"remoteAssistAgentVersion":{"type":["string","null"]},"remoteIP":{"type":["string","null"]},"secureLogin":{"anyOf":[{"$ref":"#/components/schemas/SecureLogin"},{"type":"null"}]},"serialNumber":{"type":["string","null"]},"serviceAccountState":{"anyOf":[{"$ref":"#/components/schemas/ServiceAccountState"},{"type":"null"}]},"sshRootEnabled":{"type":["boolean","null"]},"sshdParams":{"type":["array","null"],"items":{"$ref":"#/components/schemas/SshdParam"}},"systemInsights":{"anyOf":[{"$ref":"#/components/schemas/SystemInsightsState"},{"type":"null"}]},"systemTimezone":{"type":["integer","null"],"format":"int64"},"tags":{"type":["array","null"],"items":{"type":"string"}},"templateName":{"type":["string","null"]},"userMetrics":{"type":["array","null"],"items":{"$ref":"#/components/schemas/UserMetric"}},"version":{"type":["string","null"]}},"examples":[{"_id":"5f0c00000000000000000001","active":true,"agentVersion":"2.131.3","arch":"arm64","displayName":"jdoe-MacBook-Air","fde":{"active":true,"cloudEncryptionProvider":"","keyPresent":true},"hostname":"jdoe-MacBook-Air","hwVendor":"Apple Inc.","id":"5f0c00000000000000000001","lastContact":"2026-06-10T05:14:47.000Z","mdm":{"dep":false,"enrollmentType":"unknown","internal":{"deviceId":"5f0c00000000000000000002"},"profileIdentifier":"com.jumpcloud.mdm","userApproved":true,"vendor":"internal"},"networkInterfaces":[{"address":"203.0.113.10","family":"IPv4","internal":false,"name":"en0"}],"os":"Mac OS X","osFamily":"darwin","osVersionDetail":{"major":"26","majorNumber":26,"minor":"5","minorNumber":5,"osName":"macOS","patch":"1","patchNumber":1,"releaseName":"Tahoe","revision":"25F80","version":"26.5.1"},"primarySystemUser":{"id":"5f0c00000000000000000003"},"remoteIP":"203.0.113.10","secureLogin":{"enabled":false,"supported":true},"serialNumber":"C02TESTSERIAL","serviceAccountState":{"hasSecureToken":true,"passwordAPFSValid":true,"passwordODValid":true},"systemInsights":{"state":"enabled"},"userMetrics":[{"admin":true,"managed":true,"secureTokenEnabled":true,"suspended":false,"userName":"jdoe"}],"version":"26.5.1"}]},"SystemAttribute":{"description":"System attribute name/value pair","type":"object","properties":{"name":{"type":["string","null"]},"value":{"type":["string","null"]}},"examples":[{"name":"costCenter","value":"eng-204"}]},"SystemInsightsBitlockerInfo":{"description":"System Insights bitlocker_info row","type":"object","properties":{"collection_time":{"type":["string","null"]},"conversion_status":{"type":["integer","null"],"format":"int64"},"device_id":{"type":["string","null"]},"drive_letter":{"type":["string","null"]},"encryption_method":{"type":["string","null"]},"lock_status":{"type":["integer","null"],"format":"int64"},"percentage_encrypted":{"type":["integer","null"],"format":"int64"},"persistent_volume_id":{"type":["string","null"]},"protection_status":{"type":["integer","null"],"format":"int64"},"system_id":{"type":["string","null"]}},"examples":[{"collection_time":"2026-06-10T05:14:47Z","conversion_status":1,"device_id":"\\\\?\\Volume{00000000-0000-0000-0000-000000000000}\\","drive_letter":"C:","encryption_method":"XTS_AES_128","lock_status":0,"percentage_encrypted":100,"persistent_volume_id":"","protection_status":1,"system_id":"5f0c00000000000000000001"}]},"SystemInsightsDiskEncryption":{"description":"System Insights disk_encryption row","type":"object","properties":{"collection_time":{"type":["string","null"]},"encrypted":{"description":"0/1 per the osquery table.","type":["integer","null"],"format":"int64"},"encryption_status":{"type":["string","null"]},"name":{"type":["string","null"]},"system_id":{"type":["string","null"]},"type":{"type":["string","null"]},"uid":{"type":["string","null"]},"user_uuid":{"type":["string","null"]},"uuid":{"type":["string","null"]}},"examples":[{"collection_time":"2026-06-10T05:14:47Z","encrypted":1,"encryption_status":"encrypted","name":"/dev/disk1s1","system_id":"5f0c00000000000000000001","type":"APFS Encryption","uid":"","user_uuid":"","uuid":""}]},"SystemInsightsOsVersion":{"description":"System Insights os_version row","type":"object","properties":{"build":{"type":["string","null"]},"codename":{"type":["string","null"]},"collection_time":{"type":["string","null"]},"install_date":{"type":["string","null"]},"major":{"description":"Observed as both number and string across platforms — kept as raw JSON."},"minor":{"description":"Observed as both number and string across platforms — kept as raw JSON."},"name":{"type":["string","null"]},"patch":{"description":"Observed as both number and string across platforms — kept as raw JSON."},"platform":{"type":["string","null"]},"platform_like":{"type":["string","null"]},"system_id":{"type":["string","null"]},"version":{"type":["string","null"]}},"examples":[{"build":"25F80","codename":"","collection_time":"2026-06-10T05:14:47Z","major":"26","minor":"5","name":"macOS","patch":"1","platform":"darwin","platform_like":"darwin","system_id":"5f0c00000000000000000001","version":"26.5.1"}]},"SystemInsightsState":{"description":"System Insights enablement state","type":"object","properties":{"state":{"type":["string","null"]}},"examples":[{"state":"enabled"}]},"SystemInsightsSystemInfo":{"description":"System Insights system_info row","type":"object","properties":{"collection_time":{"type":["string","null"]},"computer_name":{"type":["string","null"]},"cpu_brand":{"type":["string","null"]},"cpu_logical_cores":{"type":["integer","null"],"format":"int64"},"cpu_microcode":{"type":["string","null"]},"cpu_physical_cores":{"type":["integer","null"],"format":"int64"},"cpu_subtype":{"type":["string","null"]},"cpu_type":{"type":["string","null"]},"hardware_model":{"type":["string","null"]},"hardware_serial":{"type":["string","null"]},"hardware_vendor":{"type":["string","null"]},"hardware_version":{"type":["string","null"]},"hostname":{"type":["string","null"]},"local_hostname":{"type":["string","null"]},"physical_memory":{"description":"Bytes of RAM. JumpCloud returns this as a STRING (e.g. \"25769803776\").","type":["string","null"]},"system_id":{"type":["string","null"]},"uuid":{"type":["string","null"]}},"examples":[{"collection_time":"2026-06-10T05:14:47Z","computer_name":"jdoe MacBook Air","cpu_brand":"Apple M2","cpu_logical_cores":8,"cpu_physical_cores":8,"cpu_subtype":"ARM64E","cpu_type":"arm64e","hardware_model":"Mac14,15","hardware_serial":"C02TESTSERIAL","hardware_vendor":"Apple Inc.","hostname":"jdoe-macbook-air.local","local_hostname":"jdoe-MacBook-Air","physical_memory":"25769803776","system_id":"5f0c00000000000000000001","uuid":"00000000-0000-0000-0000-000000000000"}]},"SystemUserBindingsUpdate":{"description":"Legacy system-user bindings update body","type":"object","properties":{"add":{"type":["array","null"],"items":{"type":"string"}},"remove":{"type":["array","null"],"items":{"type":"string"}}},"examples":[{"add":["5f0c00000000000000000003"]}]},"TOTPCredential":{"description":"A totp credential for a user.","type":"object","properties":{"enrollmentDate":{"type":"string"}},"examples":[{"enrollmentDate":"2025-01-10T08:04:21.435Z"}],"required":["enrollmentDate"]},"Task":{"description":"A task for an organization.","type":"object","properties":{"assigned_users":true,"created_at":{"type":"string","format":"partial-date-time"},"description":{"type":["string","null"]},"org_id":{"type":"string","format":"uuid"},"status":{"description":"The status of the task. Valid entries are Pending and Dismissed.","type":"string"},"task_id":{"type":"string","format":"uuid"},"title":{"type":"string"},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"assigned_users":null,"created_at":"2025-01-31T04:36:29.501327","description":"There are 19 newly discovered apps available for your review in App Discovery.","org_id":"3756d031-835e-45f5-a709-82ec7335957f","status":"Dismissed","task_id":"0194baa5-66bd-7b82-bdeb-8886b3f0913f","title":"App discovery available","updated_at":"2025-01-31T04:36:29.501327"}],"required":["task_id","org_id","title","status","created_at","updated_at"]},"TasksCountResponse":{"description":"The count of tasks.","type":"object","properties":{"tasksCount":{"type":"integer","format":"int64"}},"examples":[{"tasksCount":3}],"required":["tasksCount"]},"Team":{"description":"A team in an organization.","type":"object","properties":{"created_at":{"type":"string","format":"partial-date-time"},"org_id":{"type":"string","format":"uuid"},"team_id":{"type":"string","format":"uuid"},"team_name":{"type":"string"},"updated_at":{"type":"string","format":"partial-date-time"}},"examples":[{"created_at":"2024-10-08T09:16:13.951358","org_id":"3756d031-835e-45f5-a709-82ec7335957f","team_id":"01926b6a-2efe-7329-8894-540714194d06","team_name":"Engineering","updated_at":"2024-10-08T09:16:13.951358"}],"required":["team_id","org_id","team_name","created_at","updated_at"]},"ToggleCardFeature":{"description":"Turn the digital business cards feature on or off for your organization.","type":"object","properties":{"enabled":{"description":"True to enable digital business cards, false to disable them. Disabling keeps all existing card data.","type":"boolean"}},"required":["enabled"]},"Token":{"description":"Resource: Token\nRepresents an access token issued by a user for a 3rd party application.","type":"object","properties":{"anonymous":{"description":"Whether the application is registered with Google. The value is true if the application has an anonymous Client ID.","type":"boolean"},"clientId":{"description":"The Client ID of the application the token is issued to.","type":"string"},"displayText":{"description":"The displayable name of the application the token is issued to.","type":"string"},"etag":{"description":"ETag of the resource.","type":"string"},"kind":{"description":"The type of the API resource. This is always admin#directory#token.","type":"string"},"nativeApp":{"description":"Whether the token is issued to an installed application. The value is true if the application is installed to a desktop or mobile device.","type":"boolean"},"scopes":{"description":"A list of authorization scopes the application is granted.","type":"array","items":{"type":"string"}},"userKey":{"description":"The unique ID of the user that issued the token.","type":"string"}},"examples":[{"anonymous":false,"clientId":"227648260921-l0mdh1papvkfonvp7frb5sj3a56kcqum.apps.googleusercontent.com","displayText":"ShiftControl","etag":"\"etag_value\"","kind":"admin#reports#activity","nativeApp":false,"scopes":["https://www.googleapis.com/auth/admin.reports.audit.readonly","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],"userKey":"john.doe@example.com"}],"required":["clientId","scopes","userKey","anonymous","displayText","nativeApp","kind","etag"]},"Tooltip":{"type":"object","properties":{"template":{"type":["string","null"]},"variables":{"anyOf":[{"$ref":"#/components/schemas/TooltipVariables"},{"type":"null"}]}}},"TooltipVariables":{"type":"object","properties":{"icon":{"type":["string","null"]},"message":{"type":["string","null"]}}},"TransferDeletionRequest":{"description":"Request body for the transfer-delete endpoint. Initiates an async deletion with data transfer.","type":"object","properties":{"replacement_manager_email":{"description":"Optional email of the replacement manager. When provided, all direct reports of the deleted user will be reassigned to this manager.","type":["string","null"]},"transfer_recipient_email":{"description":"Email of the transfer recipient","type":"string"},"transfer_recipient_id":{"description":"Google user ID of the transfer recipient","type":"string"},"transfer_recipient_name":{"description":"Display name of the transfer recipient","type":"string"},"transfer_request":{"description":"The data transfer request payload for Google API"}},"required":["transfer_recipient_id","transfer_recipient_email","transfer_recipient_name","transfer_request"]},"Type":{"description":"Specifies the type of organizational units to return.","oneOf":[{"description":"All sub-organizational units.","type":"string","const":"ALL"},{"description":"Immediate children only (default).","type":"string","const":"CHILDREN"},{"description":"All sub-organizational units and the specified organizational unit.","type":"string","const":"ALL_INCLUDING_PARENT"}]},"UpdateAccessRequest":{"description":"Body for `PUT /v2/accessrequests/{id}` — shortens/extends an existing\ngrant's expiry. JumpCloud has no \"make permanent\" here: to remove the time\nbound, set permanent sudo via system associations and `revoke` the request.\n\nThe access id is **not** part of this body: it is supplied as the URL path\nsegment by [`crate::api::access_request::update_access_request`], which\ninjects it into the wire payload. Keeping a single source of truth avoids\nthe path/body divergence footgun.","type":"object","properties":{"expiry":{"description":"New ISO-8601 expiry timestamp.","type":"string"},"remarks":{"type":["string","null"]}},"required":["expiry"]},"UpdateApp":{"description":"An existing app to be updated.","type":"object","properties":{"app_catalog_id":{"type":["string","null"],"format":"uuid"},"app_name":{"type":["string","null"]},"billing_frequency":{"type":["string","null"],"default":null},"bookmark_url":{"description":"Launch URL for the app in the employee portal. Derived from JumpCloud SSO config or set manually.","type":["string","null"]},"budget_owner":{"description":"A reference to the budget owner user within a specific directory.","anyOf":[{"$ref":"#/components/schemas/UserReference"},{"type":"null"}],"default":null},"composite_group_id":{"type":["string","null"],"format":"uuid"},"contract_end_date":{"type":["string","null"],"format":"partial-date-time","default":null},"contract_term_number":{"type":["integer","null"],"format":"int32","default":null},"contract_term_period":{"type":["string","null"],"default":null},"cost":{"type":["string","number","null"],"default":null,"pattern":"^-?\\d+(\\.\\d+)?([eE]\\d+)?$"},"cost_currency":{"type":["string","null"],"default":null},"cost_structure":{"type":["string","null"],"default":null},"description":{"type":["string","null"]},"external_id":{"description":"The ID of the app in the IdP (e.g., JumpCloud). Null for Google-only apps.","type":["string","null"]},"logo_url":{"description":"Direct URL to the app's logo image (logo.dev, S3/CloudFront, or any HTTPS URL).","type":["string","null"]},"notes":{"type":["string","null"],"default":null},"org_id":{"type":["string","null"],"format":"uuid"},"owning_dept_id":{"description":"Uses the department_id.","type":["string","null"],"format":"uuid","default":null},"platform_fee":{"type":["string","number","null"],"default":null,"pattern":"^-?\\d+(\\.\\d+)?([eE]\\d+)?$"},"primary_admin":{"description":"A reference to the primary admin user within a specific directory.","anyOf":[{"$ref":"#/components/schemas/UserReference"},{"type":"null"}],"default":null},"renewal_grace_period":{"type":["integer","null"],"format":"int32","default":null}},"examples":[{"app_catalog_id":null,"app_name":"Notion","billing_frequency":"month","bookmark_url":"https://example.com","budget_owner":null,"composite_group_id":null,"contract_end_date":"2025-03-15T00:00:00","contract_term_number":12,"contract_term_period":"month","cost":"100","cost_currency":"USD","cost_structure":"user","description":"Updated team wiki","external_id":"666a96251292ff856bf7cba7","logo_url":"https://img.logo.dev/example.com","notes":"Updated notes","org_id":"3756d031-835e-45f5-a709-82ec7335957f","owning_dept_id":"01927461-a7f4-7fd1-98df-f4ee835678c1","platform_fee":"300","primary_admin":null,"renewal_grace_period":14}]},"UpdateAppDiscoveryState":{"description":"Update the state of an app discovery.","type":"object","properties":{"state":{"description":"The new state of the discovered app. Valid states are: Pending, Snoozed, Dismissed, Added.","type":"string"}},"examples":[{"state":"Dismissed"}],"required":["state"]},"UpdateAppPayload":{"description":"Payload for updating an existing app. Supports both JumpCloud-enabled and Google-only orgs.","type":"object","properties":{"app":{"description":"ShiftControl App Data","allOf":[{"$ref":"#/components/schemas/UpdateApp"}]},"appAssignments":{"description":"Users and groups assigned to the app","allOf":[{"$ref":"#/components/schemas/AppAssignments"}]},"jumpCloudApp":{"description":"JumpCloud App Data. Required for JumpCloud-enabled orgs, None for Google-only orgs. See the JumpCloud API documentation at https://docs.jumpcloud.com/api/2.0/index.html#tag/Applications for more information.","anyOf":[{"$ref":"#/components/schemas/Application"},{"type":"null"}]}},"examples":[{"app":{"app_catalog_id":null,"app_name":"Test App","billing_frequency":"month","bookmark_url":"https://example.com","budget_owner":null,"composite_group_id":"0194bab6-c48a-7836-a7e9-e8fce71535f4","contract_end_date":"2025-03-15T00:00:00","contract_term_number":12,"contract_term_period":"month","cost":"100","cost_currency":"USD","cost_structure":"user","description":"An updated test app","external_id":"679c57c38c69959749bccadc","logo_url":"https://img.logo.dev/example.com","notes":"Test App Notes","org_id":"3756d031-835e-45f5-a709-82ec7335957f","owning_dept_id":"01927461-a7f4-7fd1-98df-f4ee835678c1","platform_fee":"300","primary_admin":null,"renewal_grace_period":14},"appAssignments":{"nested_groups":["0192db76-829b-7c66-8782-0eda29f7ed2e"],"users":["665975c3cc8cee1a6abedfaa"]},"jumpCloudApp":{"_id":"679c57c38c69959749bccadc","active":true,"beta":false,"color":null,"config":{"acsUrl":{"label":"ACS URL:","position":4,"readOnly":false,"required":true,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Required) This is the endpoint to which JumpCloud will send SAML Responses (containing Assertions.) Please enter the Assertion Consumer Service URL for this service provider."}},"type":"text","value":[{"url":"https://testapp.com/acs"}],"visible":true},"constantAttributes":{"label":"Constant Attributes:","mutable":true,"position":8,"readOnly":false,"required":false,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Optional) Configure any constant-value attributes to be sent to the service provider. The values will be sent for all users."}},"type":"constantAttributes","value":[],"visible":true},"databaseAttributes":{"label":"User Attributes:","mutable":true,"position":9,"readOnly":false,"required":false,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Optional) Configure any user-specific attributes to be sent to the service provider. The value specified must directly reflect the JumpCloud system user property name (e.g., email, firstname, lastname). See the Knowledge Base for exact JumpCloud property names."}},"type":"constantAttributes","value":[],"visible":true},"declareRedirectEndpoint":{"label":"Declare Redirect Endpoint","position":16,"readOnly":false,"required":false,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Optional) Select this checkbox only if the service provider requires that your IdP metadata file contains a Redirect endpoint."}},"type":"bool","value":false,"visible":true},"defaultTargetUrl":{"label":"Default RelayState","position":14,"readOnly":false,"required":false,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Optional) Enter a value that designates the default location to which your users will be redirected after single sign-on is complete. It will be sent as the RelayState in IdP-initiated SSO, or if no RelayState is received during SP-initiated flow."}},"type":"text","value":"https://example.com","visible":true},"groupsAttributeName":{"dependsOnProperty":"includeGroups","label":"Groups Attribute Name","position":11,"readOnly":false,"required":false,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Required when including group attribute) This is the name of the attribute for user groups that will be included in the SAML assertion."}},"type":"text","value":"","visible":true},"idpCertificate":{"label":"IdP Certificate:","position":2,"readOnly":false,"required":false,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Optional) This is a public certificate generated from your private key. You may need to upload this file to your service provider's SSO configuration page."}},"type":"file","value":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZpVENDQTNHZ0F3SUJBZ0lWQU5veTVBVWdhWXB4UFh2MGNlYUhNTHdFM1UwK01BMEdDU3FHU0liM0RRRUIKQ3dVQU1INHhDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKRFR6RVFNQTRHQTFVRUJ4TUhRbTkxYkdSbApjakVaTUJjR0ExVUVDaE1RUkdGdVJ5QkVaWFpVWlhOMElFOXlaekVaTUJjR0ExVUVDeE1RU25WdGNFTnNiM1ZrClUwRk5URWxrVURFYU1CZ0dBMVVFQXhNUlNuVnRjRU5zYjNWa1UwRk5URlZ6WlhJd0hoY05NalV3TVRNeE1EUTEKTlRNd1doY05NekF3TVRNeE1EUTFOVE13V2pCK01Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DUTA4eApFREFPQmdOVkJBY1RCMEp2ZFd4a1pYSXhHVEFYQmdOVkJBb1RFRVJoYmtjZ1JHVjJWR1Z6ZENCUGNtY3hHVEFYCkJnTlZCQXNURUVwMWJYQkRiRzkxWkZOQlRVeEpaRkF4R2pBWUJnTlZCQU1URVVwMWJYQkRiRzkxWkZOQlRVeFYKYzJWeU1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBeG5ZRXFzK05kTlB5djRTbQpwK1FTVkY0dnVPb25sd3U3cnBBTGZqZ2FaNU85WWV6SjlHU1NZelhORmZjZ090TWlERUo5MElCWndnaWs4bnJTCm9reFNnWjllY1g3L1FTTXlobW5WTkp0Q1MwOC9zQTZ2NFVDMnRoc3dsSkEways1Nk1FY0V1aWIrb2VuTkVBeDcKTEVMSTd3VUhXd0x1REJzV2tlaVR6SmtDQVBIUHg3bUgrOEFhU3JacUJoM20wOVBpVHdWWHpOZ0hzdG00a0o3SwpBTkdoSFhMVHZRVzlwVGZsUUNJanJzRHZORlNYYTBUaXBXaEVWdFhzSWorRWpLNlZKbzlsVkFscWVXWGZ0UXhtClFPcDN2aUdDeHRrVTJBMHhwMytCMUNIWDhURzBkNWR4ZU5Temc5Y3djbUdwT2h1a3Y1RlVNemZiOFZHclEzMncKc3R2RkV5RVArZ3hQNXNiUEVnNkRFUEhNVXB3V05zc2FCVTJET3RmWWxNVGN1WnRiV1ZYN2dYRURmRUdlM1Q1Mwp3NjZWUUc5L0Y3aXpzejNQRzhIc2tqNlNZWTlSRFpXTXo5bTNaSE9hNVZOdFllY0NoMW5RUkZmMFhLNHprUmJmCjExQnROYWtBbTRUaWFybEhVcFYyemNqWEJzaklQSGpJVnBHemFYa3BkRm9aQXBXVVhEN1NvcmNsTzZhaGtsVnQKeTdLdnkxTmk2VGMzNm5NOWorazFGcjdJMXZhSm1WRWVVWTRKUEVkY24xUC9Jc2JReWsxdjdnYml5SmlzUmJiTQpIRkRyV0Q5U2VwdDErQXVyMHJmTE9VM3RoeTNQTW1DME5CdVlZWjRZcW5UTHRTT3VObk9xTTdpblhYZDBSWFJkCmxNWGVPSWYyWE5vckFiREhSYkMzSERXWldZY0NBd0VBQVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQW1KQUoKeHoyVHpoQlZ5MTZjekpKeXBwd3BJbWlVQkJ3NWl2YXVzdjU2WmNYRzNWNGEwZDVoYU5XTTFOaVVtdUNaS3pMNQpBU3BxYzZNZ1plT2xIRW5ubWc4SnhWN1F4MjA4LzhkcnJHOU9JYlFWN2dxZHRUTTQvTDdFMkJLUjlFM0gwbTArCnBKYXgwbW5HQVlDYVArei9RSjI4VG1tZ3lBWk9pZ2VQdnZ6ak9KTjRITWNlRTEvUmxXQXVDNTJhK0gwbXVhSGYKVk15NEQ3WEplS255REZDdUVvQ1UyNGtDVnVOWnFIKzBQdC9ZYW1RakpPVXRiOFZkenl0UlNXV3NXdnRIMTduegpnakhsQXdUZVh0SWRadzZlSitaSDBvM1A0czFNRGpPeitXRUdqZFdzRmZZbk1WRG5raU8xYVdtQ09LWHI1QlpBCitTMUJUYkRuWlBVS3NtVGtyZGc1cmM0L3h6OWJwT0JqMVBjbTAyd3dWT0Y0TTlMQk5rZUcvcGJ0L0RjSnVtSTUKSnZ2aENGdXkwRHh0OHpibFZrS2F0bHJSbFIreWV5Q0VVZUZkL2RmWjNLV2xVRmpHRWo2a21iRW95UGlNNHd3agpmVFQvcGtYZ00rQmZIUXdFQlRVTXMxZThWKzBUNjlWTkJaTnkrdGsrWVZTN1VBd0szMkZhNStVZGhMSXBWMXg5CkY3aVdJaWkyS3ZUNmt5N0dvVFZHOW1pYzBrS3BWRTZ0ejNVc1l0NGVnU0x1R0NCY0VCbjdxZzZBSlZ4QVcyOWkKLzBmODFTKzVQb256OTk0bjB4cE9ac2ptcjhiL2ZKV2ROS0tNZW9qRW1idEJQSmZ3NGNZbm14RzczYnQ3ODRqSwpOL24xWDlUSkI1bndienpqNGxuOFp3T3FNVkpSWkwvcEIxaVF2dkE9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K","visible":true},"idpEntityId":{"label":"IdP Entity ID:","position":0,"readOnly":false,"required":true,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Required) This is the unique, case-sensitive identifier used by JumpCloud for this service provider. Please ensure that the value you enter matches the Identity Provider Entity ID you configured on your service provider's SSO configuration page."}},"type":"text","value":"testApp","visible":true},"idpInitUrl":{"label":"Login URL:","position":15,"readOnly":false,"required":false,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"If this application only supports SP initiated authentication, insert the URL users need to log in to this application"}},"type":"text","value":"https://testapp.com","visible":true},"idpPrivateKey":{"label":"IdP Private Key:","position":1,"readOnly":false,"required":true,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Required) This is the private key you wish to use for signing the SAML Response. You should not use this private key for anything other than your company's SAML connections. Do not share this private key with anyone."}},"type":"file","value":"","visible":true},"includeGroups":{"label":"Include Group Attribute","position":10,"readOnly":false,"required":false,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Optional) Select this checkbox to include the groups that connect the user to the application in the SAML assertion."}},"type":"bool","value":false,"visible":true},"overrideNameIdFormat":{"label":"SAMLSubject NameID Format:","options":[{"text":"urn:oasis:names:tc:SAML:1.0:nameid-format:unspecified","value":0},{"text":"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified","value":1},{"text":"urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified","value":2},{"text":"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress","value":3},{"text":"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName","value":4},{"text":"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent","value":5},{"text":"urn:oasis:names:tc:SAML:2.0:nameid-format:transient","value":6}],"position":7,"readOnly":false,"required":true,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Required) This is the format that will be sent for the SAMLSubject's NameID."}},"type":"select","value":"urn:oasis:names:tc:SAML:1.0:nameid-format:unspecified","visible":true},"signAssertion":{"label":"Sign Assertion","position":13,"readOnly":false,"required":false,"type":"bool","value":false,"visible":true},"signResponse":{"label":"Sign Response","position":13,"readOnly":false,"required":false,"type":"bool","value":true,"visible":false},"signatureAlgorithm":{"label":"Signature Algorithm:","options":[{"text":"RSA-SHA1","value":0},{"text":"RSA-SHA256","value":1}],"position":12,"readOnly":false,"required":true,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Required) This is the algorithm that will be used to sign the SAML response or assertion."}},"type":"select","value":"RSA-SHA256","visible":true},"spCertificate":{"label":"SP Certificate:","position":5,"readOnly":false,"required":false,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Optional) This is the public certificate used to validate the digital signature on this service provider's SAML Requests."}},"type":"file","value":"","visible":true},"spEntityId":{"label":"SP Entity ID:","position":3,"readOnly":false,"required":true,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Required) This is the unique, case-sensitive identifier used by this service provider."}},"type":"text","value":"testAppSP","visible":true},"spErrorFlow":{"label":"Send failure response to the Service Provider","position":17,"readOnly":false,"required":false,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"Sends an error HTTP status code to Service Provider in the event of an error"}},"type":"bool","value":false,"visible":true},"subjectField":{"label":"SAMLSubject NameID:","options":[{"text":"email","value":0},{"text":"username","value":1},{"text":"firstname","value":2},{"text":"lastname","value":3},{"text":"description","value":4},{"text":"alternateEmail","value":5}],"position":6,"readOnly":false,"required":true,"tooltip":{"template":"Dynamic","variables":{"icon":"jc-info-circle","message":"(Required) This is the user identifier that will be sent as the SAMLSubject's NameID. Alternate email may be used, but this configuration should only be selected for well understood use cases."}},"type":"select","value":"email","visible":true}},"description":"An updated test app","displayLabel":"Test App","displayName":"Test App","isBookmark":false,"logo":{"url":"https://s3.amazonaws.com/static.jumpcloud.com/applications/logos/application-icon-saml2.png"},"name":"saml2","organization":"665970b710eb8310d68966dc","sso":{"beta":false,"hidden":false,"idpCertExpirationAt":"2030-01-31T04:55:30.000Z","idpCertificateUpdatedAt":"2025-01-31T04:55:31.302Z","idpPrivateKeyUpdatedAt":"2025-01-31T04:55:31.302Z","jit":false,"type":"saml"},"ssoUrl":"https://sso.jumpcloud.com/saml2/testapp","type":"application"}}],"required":["app","appAssignments"]},"UpdateAppSubscription":{"description":"Subscription and cost fields for an app. Does not include app identity fields (name, description, org, catalog, logo, bookmark).","type":"object","properties":{"billing_frequency":{"description":"How often billing occurs: 'month', 'quarter', or 'year'.","type":["string","null"],"default":null},"budget_owner":{"description":"A reference to the budget owner user within a specific directory.","anyOf":[{"$ref":"#/components/schemas/UserReference"},{"type":"null"}],"default":null},"contract_end_date":{"description":"Contract end date in ISO 8601 format.","type":["string","null"],"format":"partial-date-time","default":null},"contract_term_number":{"description":"Contract term length (e.g., 12 for 12 months).","type":["integer","null"],"format":"int32","default":null},"contract_term_period":{"description":"Contract term unit: 'month' or 'year'.","type":["string","null"],"default":null},"cost":{"description":"Cost per unit as a decimal string (e.g., '5.00').","type":["string","number","null"],"default":null,"pattern":"^-?\\d+(\\.\\d+)?([eE]\\d+)?$"},"cost_currency":{"description":"Currency code (e.g., 'USD').","type":["string","null"],"default":null},"cost_structure":{"description":"How cost is calculated: 'user', 'flat', or 'tiered'.","type":["string","null"],"default":null},"notes":{"description":"Free-text notes about the subscription.","type":["string","null"],"default":null},"owning_dept_id":{"description":"References departments.department_id","type":["string","null"],"format":"uuid","default":null},"platform_fee":{"description":"Platform fee amount as a decimal (e.g., '300.00').","type":["string","number","null"],"default":null,"pattern":"^-?\\d+(\\.\\d+)?([eE]\\d+)?$"},"primary_admin":{"description":"A reference to the primary admin user within a specific directory.","anyOf":[{"$ref":"#/components/schemas/UserReference"},{"type":"null"}],"default":null},"renewal_grace_period":{"description":"Grace period in days after contract end before renewal lapses.","type":["integer","null"],"format":"int32","default":null}},"examples":[{"billing_frequency":"month","budget_owner":null,"contract_end_date":"2025-03-15T00:00:00","contract_term_number":12,"contract_term_period":"month","cost":"100","cost_currency":"USD","cost_structure":"user","notes":"Updated subscription notes","owning_dept_id":"01927461-a7f4-7fd1-98df-f4ee835678c1","platform_fee":"300","primary_admin":null,"renewal_grace_period":14}]},"UpdateCustomField":{"description":"Update a custom field.","type":"object","properties":{"default_value":{"type":["string","null"]},"description":{"type":["string","null"]},"field_type":{"type":["string","null"]},"is_required":{"type":["boolean","null"]},"is_system":{"type":["boolean","null"]},"name":{"type":["string","null"]},"ui_hint":{"type":["string","null"]},"ui_order":{"type":["integer","null"],"format":"int32"},"ui_section":{"type":["string","null"]},"validation_rules":true},"examples":[{"default_value":"red","description":"The user's preferred color.","field_type":null,"is_required":true,"is_system":null,"name":"Preferred Color","ui_hint":null,"ui_order":null,"ui_section":null,"validation_rules":null}]},"UpdateDepartment":{"description":"A department to be updated.","type":"object","properties":{"department_name":{"type":["string","null"]}},"examples":[{"department_name":"People & Culture"}]},"UpdateDirectory":{"description":"Update a directory.","type":"object","properties":{"directory_name":{"type":["string","null"]},"domains":true,"external_id":{"type":["string","null"]},"integration_id":{"type":["string","null"],"format":"uuid"},"is_primary":{"type":["boolean","null"]},"last_checked_at":{"type":["string","null"],"format":"partial-date-time"},"metadata":true},"examples":[{"directory_name":"Google","domains":[],"external_id":"1029fc84ae634f7fdbaab3e8","integration_id":"3756d031-835e-45f5-a709-82ec7335957f","is_primary":true,"last_checked_at":"2024-10-08T09:16:13.951358","metadata":null}]},"UpdateEmployeeCard":{"description":"Card content to save: field values, which synced fields to keep manually overridden, the chosen layout, and which optional fields to include.","type":"object","properties":{"field_overrides":{"description":"Fields the person has manually set so they stop tracking the directory profile, keyed by field name, for example { \"title\": true }. Omitted fields keep following the profile when sync is on."},"field_values":{"description":"Card field values keyed by field name, for example { \"phone\": \"+1 555 0100\", \"title\": \"Field Engineer\" }."},"included_optional_fields":{"description":"Names of optional fields to include on the published card; optional fields not listed here are left off.","type":["array","null"],"items":{"type":"string"}},"layout_choice":{"description":"The layout to use for this card when the organization lets the card pick its own; send null to follow the organization's default layout. Ignored when the organization locks the layout for everyone.","anyOf":[{"$ref":"#/components/schemas/CardLayoutEnum"},{"type":"null"}]}},"examples":[{"field_overrides":{"title":true},"field_values":{"phone":"+1 555 0100","title":"Field Engineer","website":"https://acme.com"},"included_optional_fields":["phone"],"layout_choice":"MINIMAL_FLAT"}],"required":["field_values","field_overrides"]},"UpdateFeatureSettingRequest":{"description":"Update body for a single feature toggle.","type":"object","properties":{"enabled":{"description":"Whether the feature should be turned on.","type":"boolean"}},"additionalProperties":false,"required":["enabled"]},"UpdateGroupSettings":{"description":"Update group settings.","type":"object","properties":{"allowExternalMembers":{"description":"Identifies whether members external to your organization can join the group.","type":["boolean","null"]},"allowWebPosting":{"description":"Allows posting from the web.","type":["boolean","null"]},"archiveOnly":{"description":"Allows the group to be archived only.","type":["boolean","null"]},"customFooterText":{"description":"Set the content of custom footer text. Maximum size is 1,000 characters.","type":["string","null"]},"customReplyTo":{"description":"An email address used when replying to a message if the replyTo property is set to REPLY_TO_CUSTOM.","type":["string","null"]},"defaultMessageDenyNotificationText":{"description":"Text for the rejection notification sent to the message's author. Maximum size is 10,000 characters.","type":["string","null"]},"defaultSender":{"description":"Default sender for members who can post messages as the group.","anyOf":[{"$ref":"#/components/schemas/DefaultSender"},{"type":"null"}]},"description":{"description":"Description of the group. Maximum size is 4,096 characters.","type":["string","null"]},"enableCollaborativeInbox":{"description":"Specifies whether a collaborative inbox will remain turned on for the group.","type":["boolean","null"]},"favoriteRepliesOnTop":{"description":"Indicates if favorite replies should be displayed before other replies.","type":["boolean","null"]},"includeCustomFooter":{"description":"Whether to include custom footer.","type":["boolean","null"]},"includeInGlobalAddressList":{"description":"Enables the group to be included in the Global Address List.","type":["boolean","null"]},"isArchived":{"description":"Allows the Group contents to be archived.","type":["boolean","null"]},"membersCanPostAsTheGroup":{"description":"Enables members to post messages as the group.","type":["boolean","null"]},"messageModerationLevel":{"description":"Moderation level of incoming messages.","anyOf":[{"$ref":"#/components/schemas/MessageModerationLevel"},{"type":"null"}]},"name":{"description":"Name of the group, which has a maximum size of 75 characters.","type":["string","null"]},"primaryLanguage":{"description":"The primary language for the group. See the supported languages here: https://developers.google.com/workspace/admin/groups-settings/v1/reference/groups#supported-languages","type":["string","null"]},"replyTo":{"description":"Specifies who receives the default reply.","anyOf":[{"$ref":"#/components/schemas/ReplyTo"},{"type":"null"}]},"sendMessageDenyNotification":{"description":"Allows a member to be notified if the member's message to the group is denied by the group owner.","type":["boolean","null"]},"spamModerationLevel":{"description":"Specifies moderation levels for messages detected as spam.","anyOf":[{"$ref":"#/components/schemas/SpamModerationLevel"},{"type":"null"}]},"whoCanApproveMembers":{"description":"Specifies who can approve members who ask to join groups.","anyOf":[{"$ref":"#/components/schemas/WhoCanApproveMembers"},{"type":"null"}]},"whoCanAssistContent":{"description":"Specifies who can moderate metadata.","anyOf":[{"$ref":"#/components/schemas/WhoCanAssistContent"},{"type":"null"}]},"whoCanContactOwner":{"description":"Permission to contact owner of the group via web UI.","anyOf":[{"$ref":"#/components/schemas/WhoCanContactOwner"},{"type":"null"}]},"whoCanDiscoverGroup":{"description":"Specifies the set of users for whom this group is discoverable.","anyOf":[{"$ref":"#/components/schemas/WhoCanDiscoverGroup"},{"type":"null"}]},"whoCanJoin":{"description":"Permission to join group.","anyOf":[{"$ref":"#/components/schemas/WhoCanJoin"},{"type":"null"}]},"whoCanLeaveGroup":{"description":"Permission to leave the group.","anyOf":[{"$ref":"#/components/schemas/WhoCanLeaveGroup"},{"type":"null"}]},"whoCanModerateContent":{"description":"Specifies who can moderate content.","anyOf":[{"$ref":"#/components/schemas/WhoCanModerateContent"},{"type":"null"}]},"whoCanModerateMembers":{"description":"Specifies who can manage members.","anyOf":[{"$ref":"#/components/schemas/WhoCanModerateMembers"},{"type":"null"}]},"whoCanPostMessage":{"description":"Permissions to post messages.","anyOf":[{"$ref":"#/components/schemas/WhoCanPostMessage"},{"type":"null"}]},"whoCanViewGroup":{"description":"Permissions to view group messages.","anyOf":[{"$ref":"#/components/schemas/WhoCanViewGroup"},{"type":"null"}]},"whoCanViewMembership":{"description":"Permissions to view membership.","anyOf":[{"$ref":"#/components/schemas/WhoCanViewMembership"},{"type":"null"}]}},"examples":[{"allowExternalMembers":"true","allowWebPosting":"false","archiveOnly":"false","customFooterText":"This is a custom footer.","customReplyTo":"custom-reply@example.com","defaultMessageDenyNotificationText":"Your message was denied.","defaultSender":"DEFAULT_SELF","description":"This is an updated description for the group.","enableCollaborativeInbox":"true","favoriteRepliesOnTop":"false","includeCustomFooter":"true","includeInGlobalAddressList":"true","isArchived":"false","membersCanPostAsTheGroup":"true","messageModerationLevel":"MODERATE_NON_MEMBERS","name":"Updated Group Name","primaryLanguage":"en_US","replyTo":"REPLY_TO_LIST","sendMessageDenyNotification":"true","spamModerationLevel":"MODERATE","whoCanApproveMembers":"ALL_MANAGERS_CAN_APPROVE","whoCanAssistContent":"OWNERS_AND_MANAGERS","whoCanContactOwner":"ALL_MEMBERS_CAN_CONTACT","whoCanDiscoverGroup":"ANYONE_CAN_DISCOVER","whoCanJoin":"ANYONE_CAN_JOIN","whoCanLeaveGroup":"ALL_MEMBERS_CAN_LEAVE","whoCanModerateContent":"OWNERS_AND_MANAGERS","whoCanModerateMembers":"OWNERS_AND_MANAGERS","whoCanPostMessage":"ALL_MEMBERS_CAN_POST","whoCanViewGroup":"ALL_IN_DOMAIN_CAN_VIEW","whoCanViewMembership":"ALL_MEMBERS_CAN_VIEW"}]},"UpdateGroupTag":{"description":"Payload to update an organization-scoped group tag. All fields are optional.","type":"object","properties":{"color_hex":{"type":["string","null"]},"description":{"type":["string","null"]},"global_tag_id":{"type":["string","null"],"format":"uuid"},"name":{"type":["string","null"]},"org_id":{"type":["string","null"],"format":"uuid"},"purpose_id":{"type":["string","null"],"format":"uuid"}},"examples":[{"color_hex":"#008236","description":"Official departments and teams within the org","global_tag_id":"11111111-1111-4111-8111-111111111111","name":"Department","org_id":null,"purpose_id":null}]},"UpdateGroupTagRequest":{"description":"Request body for updating a group's tag.","type":"object","properties":{"group_org_tag_id":{"description":"The group org tag ID to set, or null to clear the tag.","type":["string","null"],"format":"uuid"}}},"UpdateIntegration":{"description":"Update an integration.","type":"object","properties":{"app_id":{"type":["string","null"],"format":"uuid"},"auth_provider":{"type":["string","null"]},"auth_status":{"type":["boolean","null"]},"catalog_id":{"type":["string","null"],"format":"uuid"},"config":true,"delegation_requested_at":{"type":["string","null"],"format":"partial-date-time"},"delegation_requested_by":{"type":["string","null"],"format":"uuid"},"delegation_status":{"type":["string","null"]},"integration_health":{"type":["string","null"]},"integration_sub_type":{"type":["string","null"]},"integration_type":{"type":["string","null"]},"last_sync_at":{"type":["string","null"],"format":"date-time"},"last_sync_execution_arn":{"type":["string","null"]},"metadata":true,"name":{"type":["string","null"]},"org_id":{"type":["string","null"],"format":"uuid"},"status":{"type":["boolean","null"]},"workato_external_id":{"type":["integer","null"],"format":"int64"}},"examples":[{"app_id":null,"auth_provider":null,"auth_status":null,"catalog_id":"01923692-8539-7bfe-8efe-a51a92ee378c","config":null,"delegation_requested_at":null,"delegation_requested_by":null,"delegation_status":null,"integration_health":null,"integration_sub_type":null,"integration_type":null,"last_sync_at":null,"last_sync_execution_arn":null,"metadata":null,"name":null,"org_id":null,"status":false,"workato_external_id":null}]},"UpdateLicenseAssignment":{"description":"Representation of an update license assignment request.","type":"object","properties":{"productId":{"description":"A product's unique identifier.","type":"string"},"skuId":{"description":"A product SKU's unique identifier.","type":"string"},"userId":{"description":"The user's current primary email address.","type":"string"}},"examples":[{"productId":"Google-Apps","skuId":"1010020028","userId":"user@example.com"}],"required":["productId","skuId","userId"]},"UpdateLocation":{"description":"Update a location.","type":"object","properties":{"location_name":{"type":["string","null"]}},"examples":[{"location_name":"Singapore"}]},"UpdateOrgCardSettings":{"description":"The org-wide card template to save: layout, brand colors, logo placement, legal links, per-line icons, field governance, profile-sync flags, offboarding policy, and PIN policy.","type":"object","properties":{"accent_color":{"description":"Accent brand color as an \"R,G,B\" string; omit or send null to use the layout default.","type":["string","null"]},"design_lock":{"description":"Who chooses each card's layout: the org locks it for everyone, an admin picks per person, or each employee picks their own.","allOf":[{"$ref":"#/components/schemas/CardDesignLockEnum"}]},"disclaimer_text":{"description":"Free-text legal disclaimer shown in the card footer; null to omit.","type":["string","null"]},"field_defaults":{"description":"Admin-supplied default values keyed by field name, e.g. a company website applied to every card."},"field_governance":{"description":"Per-field governance rules keyed by field name, each one of HIDDEN, LOCKED, EDITABLE, or OPTIONAL. Fields you omit are treated as EDITABLE."},"field_icons":{"description":"Per-line icon choices, keyed by field name, e.g. { \"phone\": \"phone-outline\" }."},"grace_period_days":{"description":"Number of days a departed employee's card keeps serving normally before the offboarding policy takes effect.","type":"integer","format":"int32"},"layout":{"description":"Card layout for the organization. One of the four curated layouts: Classic Centered, Banner Hero, Bold Brand Header, or Minimal Flat.","allOf":[{"$ref":"#/components/schemas/CardLayoutEnum"}]},"logo_enabled":{"description":"Whether to show the company logo on cards.","type":"boolean"},"logo_placement":{"description":"Where the logo appears on the card: HEADER, BY_AVATAR, or NONE. Upload the logo image itself through the logo endpoint.","type":"string"},"offboarding_default":{"description":"What a card shows after the employee leaves: REDIRECT to another card, a GENERIC company page, or DIE (the link stops working).","allOf":[{"$ref":"#/components/schemas/CardOffboardingDefaultEnum"}]},"pin_allowed":{"description":"When true, employees may optionally protect their own card with a PIN.","type":"boolean"},"pin_required":{"description":"When true, every card in the org must be protected by a PIN.","type":"boolean"},"primary_color":{"description":"Primary brand color as an \"R,G,B\" string, for example \"12,74,110\".","type":"string"},"privacy_url":{"description":"Link to your privacy policy shown in the card footer; null to omit.","type":["string","null"]},"sync_department":{"description":"When true, each employee's department tracks their directory profile unless they have manually overridden it.","type":"boolean"},"sync_name":{"description":"When true, each employee's name tracks their directory profile unless they have manually overridden it.","type":"boolean"},"sync_title":{"description":"When true, each employee's job title tracks their directory profile unless they have manually overridden it.","type":"boolean"},"tos_url":{"description":"Link to your terms of service shown in the card footer; null to omit.","type":["string","null"]}},"examples":[{"accent_color":"14,165,233","design_lock":"ORG_LOCKED","disclaimer_text":null,"field_defaults":{"website":"https://acme.com"},"field_governance":{"email":"LOCKED","phone":"OPTIONAL"},"field_icons":{"phone":"phone-outline"},"grace_period_days":30,"layout":"CLASSIC_CENTERED","logo_enabled":true,"logo_placement":"HEADER","offboarding_default":"GENERIC","pin_allowed":true,"pin_required":false,"primary_color":"12,74,110","privacy_url":"https://acme.com/privacy","sync_department":false,"sync_name":true,"sync_title":true,"tos_url":"https://acme.com/terms"}],"required":["layout","design_lock","primary_color","logo_enabled","logo_placement","field_icons","field_governance","field_defaults","sync_name","sync_title","sync_department","offboarding_default","grace_period_days","pin_required","pin_allowed"]},"UpdateOrgPost":{"type":"object","properties":{"default_currency":{"description":"The default currency for the organization using the three-letter ISO-4217 format.","type":"string"},"domain":{"type":["string","null"]},"name":{"type":"string"}},"examples":[{"default_currency":"EUR","domain":"updated.com","name":"Updated Org"}],"required":["name","default_currency"]},"UpdateOrgUnit":{"description":"Represents the payload for updating an organizational unit in Google Workspace.","type":"object","properties":{"description":{"description":"Description of the organizational unit.","type":["string","null"]},"name":{"description":"The organizational unit's name.","type":["string","null"]},"parentOrgUnitPath":{"description":"The organizational unit's parent path.","type":["string","null"]}},"examples":[{"description":"Updated description for the sales team.","name":"updated_sales_team","parentOrgUnitPath":"/corp/updated_sales"}]},"UpdateOrgUserRole":{"description":"The role of a user in an organization.","type":"object","properties":{"additional_roles_in_org":{"description":"Any additional role in the org.","type":"array","items":{"type":"string"}},"role_in_org":{"description":"All users have a base role of Member","type":"string"}},"examples":[{"additional_roles_in_org":["Admin"],"role_in_org":"Member"}],"required":["role_in_org","additional_roles_in_org"]},"UpdatePushCredential":{"type":"object","properties":{"name":{"type":"string"},"state":{"type":"string"}},"examples":[{"name":"My Device","state":"active"}],"required":["name","state"]},"UpdateSystem":{"description":"System update body","type":"object","properties":{"agentBoundMessages":{"description":"Spec types entries as free-form objects.","type":["array","null"],"items":true},"allowMultiFactorAuthentication":{"type":["boolean","null"]},"allowPublicKeyAuthentication":{"type":["boolean","null"]},"allowSshPasswordAuthentication":{"type":["boolean","null"]},"allowSshRootLogin":{"type":["boolean","null"]},"attributes":{"type":["array","null"],"items":{"$ref":"#/components/schemas/SystemAttribute"}},"displayName":{"type":["string","null"]},"primarySystemUser":{"description":"Sets the device's primary (owner) system user. Not in the documented\n`systemput` schema, but the console issues it on this endpoint and it\nis honored; send `{ \"id\": null }` to clear the owner.","anyOf":[{"$ref":"#/components/schemas/PrimarySystemUser"},{"type":"null"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}},"examples":[{"displayName":"jdoe-MacBook-Air","tags":[]}]},"UpdateTaskStatus":{"description":"The status of the task.","type":"object","properties":{"status":{"description":"The updated stated of the task. Valid entries are Pending and Dismissed.","type":"string"}},"examples":[{"status":"Dismissed"}],"required":["status"]},"UpdateTeam":{"description":"Update a team.","type":"object","properties":{"team_name":{"type":["string","null"]}},"examples":[{"team_name":"Platform"}]},"UpdateTeamResponse":{"description":"Response for team update operations including any propagation failures","type":"object","properties":{"propagation_failures":{"description":"Count of Google user update failures during team rename propagation.\nOnly present when there were failures.","anyOf":[{"$ref":"#/components/schemas/PropagationFailureCount"},{"type":"null"}]},"team":{"description":"The updated team","allOf":[{"$ref":"#/components/schemas/Team"}]}},"examples":[{"propagation_failures":{"google_user_update_failures":2,"jumpcloud_user_update_failures":1},"team":{"created_at":"2024-10-08T09:16:13.951358","org_id":"3756d031-835e-45f5-a709-82ec7335957f","team_id":"01926b6a-2efe-7329-8894-540714194d06","team_name":"Engineering","updated_at":"2024-10-08T09:16:13.951358"}}],"required":["team"]},"UpdateUserAlias":{"description":"Resource: UpdateUserAlias\nUpdate struct for UserAlias.","type":"object","properties":{"alias":{"description":"The alias email address.","type":"string"},"etag":{"description":"ETag of the resource.","type":["string","null"]},"id":{"description":"The unique ID for the user.","type":["string","null"]},"kind":{"description":"The type of the API resource. For Alias resources, the value is admin#directory#alias.","type":["string","null"]},"primaryEmail":{"description":"The user's primary email address.","type":["string","null"]}},"examples":[{"alias":""}],"required":["alias"]},"UpdateUserPhoto":{"description":"Represents a user photo resource with upload data and metadata.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":["string","null"]},"height":{"description":"Height of the photo in pixels.","type":["integer","null"],"format":"int32"},"id":{"description":"The ID the API uses to uniquely identify the user.","type":["string","null"]},"kind":{"description":"The type of the API resource. For Photo resources, this is admin#directory#user#photo.","type":["string","null"]},"mimeType":{"description":"The MIME type of the photo. Allowed values are JPEG, PNG, GIF, BMP, TIFF, and web-safe base64 encoding.","type":["string","null"]},"photoData":{"description":"The user photo's upload data in web-safe Base64 format in bytes. This means:\n\nThe slash (/) character is replaced with the underscore (_) character.\nThe plus sign (+) character is replaced with the hyphen (-) character.\nThe equals sign (=) character is replaced with the asterisk (*) character.\nFor padding, the period (.) character is used instead of the RFC-4648 baseURL definition which uses the equals sign (=) for padding. This is done to simplify URL-parsing.\nWhatever the size of the photo being uploaded, the API downsizes it to 96x96 pixels.\nA base64-encoded string.","type":"string","default":""},"primaryEmail":{"description":"The user's primary email address.","type":["string","null"]},"width":{"description":"Width of the photo in pixels.","type":["integer","null"],"format":"int32"}},"examples":[{"photoData":"base64_encoded_photo_data"}]},"UpdateWebAuthNCredential":{"type":"object","properties":{"name":{"type":"string"}},"examples":[{"name":"My Device"}],"required":["name"]},"UpdateWorkItemKeyPrefixPost":{"description":"Fields to update the organization's work item key prefix.","type":"object","properties":{"work_item_key_prefix":{"description":"The 2-4 letter code shown at the start of every work item key, e.g. \"SC\" in \"SC-142\". Submitted values are uppercased; only letters A-Z are accepted.","type":"string"}},"examples":[{"work_item_key_prefix":"SC"}],"required":["work_item_key_prefix"]},"User":{"description":"Resource: User\nThe Directory API allows you to create and manage your account's users, user aliases, and user Google profile photos. For more information about common tasks, see the User Accounts Developer's Guide and the User Aliases Developer's Guide.","type":"object","properties":{"addresses":{"description":"The list of the user's addresses. Maximum allowed data size is 10KB.","type":["array","null"],"items":{"$ref":"#/components/schemas/Address"}},"agreedToTerms":{"description":"Output only. True if the user has completed an initial login and accepted the Terms of Service agreement. May be absent for newly created users.","type":["boolean","null"]},"aliases":{"description":"Output only. The list of the user's alias email addresses.","type":["array","null"],"items":{"type":"string"}},"archived":{"description":"Indicates if the user is archived.","type":["boolean","null"]},"changePasswordAtNextLogin":{"description":"Indicates if the user is forced to change their password at next login.","type":["boolean","null"]},"creationTime":{"description":"Output only. The time the user's account was created in ISO 8601 format.","type":"string"},"customSchemas":{"description":"Custom fields of the user. The key is a schemaName and the values are fieldName: field_value pairs."},"customerId":{"description":"Output only. The customer ID to retrieve all account users.","type":"string"},"deletionTime":{"description":"Output only. The time the user's account was deleted in ISO 8601 format.","type":["string","null"]},"emails":{"description":"The list of the user's email addresses. Maximum allowed data size is 10KB.","type":["array","null"],"items":{"$ref":"#/components/schemas/Email"}},"etag":{"description":"Output only. ETag of the resource.","type":"string"},"externalIds":{"description":"The list of external IDs for the user. Maximum allowed data size is 2KB.","type":["array","null"],"items":{"$ref":"#/components/schemas/ExternalId"}},"gender":{"description":"A nested object containing the user's gender information. Maximum allowed data size is 1KB.","anyOf":[{"$ref":"#/components/schemas/Gender"},{"type":"null"}]},"hashFunction":{"description":"Stores the hash format of the password property. Allowed values: MD5, SHA-1, crypt.","type":["string","null"]},"id":{"description":"The unique ID for the user. A user id can be used as a user request URI's userKey.","type":"string"},"ims":{"description":"The user's Instant Messenger (IM) accounts.","type":["array","null"],"items":{"$ref":"#/components/schemas/Im"}},"includeInGlobalAddressList":{"description":"Indicates if the user's profile is visible in the Google Workspace global address list.","type":["boolean","null"]},"ipWhitelisted":{"description":"If true, the user's IP address is subject to a deprecated IP address allowlist configuration.","type":["boolean","null"]},"isAdmin":{"description":"Output only. Indicates a user with super administrator privileges.","type":["boolean","null"]},"isDelegatedAdmin":{"description":"Output only. Indicates if the user is a delegated administrator.","type":["boolean","null"]},"isEnforcedIn2Sv":{"description":"Output only. Is 2-step verification enforced.","type":["boolean","null"]},"isEnrolledIn2Sv":{"description":"Output only. Is enrolled in 2-step verification.","type":["boolean","null"]},"isMailboxSetup":{"description":"Output only. Indicates if the user's Google mailbox is created.","type":["boolean","null"]},"keywords":{"description":"The list of the user's keywords. Maximum allowed data size is 1KB.","type":["array","null"],"items":{"$ref":"#/components/schemas/Keyword"}},"kind":{"description":"Output only. The type of the API resource. For Users resources, the value is admin#directory#user.","type":"string"},"languages":{"description":"The list of the user's languages. Maximum allowed data size is 1KB.","type":["array","null"],"items":{"$ref":"#/components/schemas/Language"}},"lastLoginTime":{"description":"Output only. The last time the user logged into the user's account in ISO 8601 format.","type":["string","null"]},"locations":{"description":"The list of the user's locations. Maximum allowed data size is 10KB.","type":["array","null"],"items":{"$ref":"#/components/schemas/Location"}},"name":{"description":"Holds the given and family names of the user, and the read-only fullName value. Maximum allowed data size for this field is 1KB.","allOf":[{"$ref":"#/components/schemas/UserName"}]},"nonEditableAliases":{"description":"Output only. The list of the user's non-editable alias email addresses.","type":["array","null"],"items":{"type":"string"}},"notes":{"description":"Notes for the user as a nested object.","anyOf":[{"$ref":"#/components/schemas/Notes"},{"type":"null"}]},"orgUnitPath":{"description":"The full path of the parent organization associated with the user.","type":["string","null"]},"organizations":{"description":"The list of organizations the user belongs to. Maximum allowed data size is 10KB.","type":["array","null"],"items":{"$ref":"#/components/schemas/Organization"}},"password":{"description":"Stores the password for the user account. The user's password value is required when creating a user account. It's optional when updating a user, and is never returned in the API's response body.","type":["string","null"]},"phones":{"description":"A list of the user's phone numbers. Maximum allowed data size is 1KB.","type":["array","null"],"items":{"$ref":"#/components/schemas/Phone"}},"posixAccounts":{"description":"The list of POSIX account information for the user.","type":["array","null"],"items":{"$ref":"#/components/schemas/PosixAccount"}},"primaryEmail":{"description":"The user's primary email address. This property is required in a request to create a user account. The primaryEmail must be unique and cannot be an alias of another user.","type":"string"},"recoveryEmail":{"description":"Recovery email of the user.","type":["string","null"]},"recoveryPhone":{"description":"Recovery phone of the user. Must be in the E.164 format.","type":["string","null"]},"relations":{"description":"The list of the user's relationships to other users. Maximum allowed data size is 2KB.","type":["array","null"],"items":{"$ref":"#/components/schemas/Relation"}},"sshPublicKeys":{"description":"A list of SSH public keys.","type":["array","null"],"items":{"$ref":"#/components/schemas/SshPublicKey"}},"suspended":{"description":"Indicates if user is suspended.","type":["boolean","null"]},"suspensionReason":{"description":"Output only. Reason the user account is suspended.","type":["string","null"]},"thumbnailPhotoEtag":{"description":"Output only. ETag of the user's photo (Read-only).","type":["string","null"]},"thumbnailPhotoUrl":{"description":"Output only. The URL of the user's profile photo. Might be temporary or private.","type":["string","null"]},"websites":{"description":"The list of the user's websites.","type":["array","null"],"items":{"$ref":"#/components/schemas/Website"}}},"examples":[{"addresses":[{"country":"Singapore","locality":"Singapore","postalCode":"12345","primary":true,"streetAddress":"123 Main St","type":"home"}],"agreedToTerms":true,"aliases":["alias1@example.com","alias2@example.com"],"archived":false,"changePasswordAtNextLogin":false,"creationTime":"2023-01-01T00:00:00Z","customSchemas":{"CustomSchema":{"field1":"value1","field2":"value2"}},"customerId":"customer123","deletionTime":"2023-12-31T23:59:59Z","emails":[{"address":"j.doe@example.com","primary":true}],"etag":"\"etag_value\"","externalIds":[{"value":"external_id_1"}],"gender":{"addressMeAs":"he/him/his","type":"male"},"hashFunction":"SHA-256","id":"id123","ims":[{"im":"customuser","primary":true,"protocol":"jabber","type":"work"}],"includeInGlobalAddressList":true,"ipWhitelisted":true,"isAdmin":true,"isDelegatedAdmin":true,"isEnforcedIn2Sv":false,"isEnrolledIn2Sv":true,"isMailboxSetup":true,"keywords":[{"type":"occupation","value":"Engineer"}],"kind":"admin#directory#user","languages":[{"languageCode":"en","preference":"preferred"}],"lastLoginTime":"2023-10-20T12:34:56Z","locations":[{"area":"Mountain View, CA","type":"default"}],"name":{"displayName":"John Doe","familyName":"Doe","fullName":"John Doe","givenName":"John"},"nonEditableAliases":["non_editable@example.com"],"notes":{"contentType":"text_plain","value":"Additional notes regarding the user."},"orgUnitPath":"/Engineering","organizations":[{"department":"Engineering","description":"Engineering Department","domain":"example.com","location":"Singapore","primary":true,"title":"Software Engineer"}],"password":"password123","phones":[{"primary":true,"type":"work","value":"123-456-7890"}],"posixAccounts":[{"accountId":"account_id_1","gecos":"GECOS","gid":1000,"homeDirectory":"/home/user","operatingSystemType":"Linux","primary":true,"shell":"/bin/bash","uid":1000}],"primaryEmail":"user@example.com","recoveryEmail":"recovery@example.com","recoveryPhone":"987-654-3210","relations":[{"type":"assistant","value":"adminassist@example.com"}],"sshPublicKeys":[{"expirationTimeUsec":1234567890,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC..."}],"suspended":false,"suspensionReason":"None","thumbnailPhotoEtag":"\"etag_photo\"","thumbnailPhotoUrl":"http://example.com/photo.jpg","websites":[{"type":"home_page","value":"https://example.com"}]}],"required":["id","primaryEmail","name","kind","etag","customerId","creationTime"]},"UserAlias":{"description":"Resource: UserAlias\nThe Directory API manages aliases, which are alternative email addresses.","type":"object","properties":{"alias":{"description":"The alias email address.","type":"string"},"etag":{"description":"ETag of the resource.","type":"string"},"id":{"description":"The unique ID for the user.","type":"string"},"kind":{"description":"The type of the API resource. For Alias resources, the value is admin#directory#alias.","type":"string"},"primaryEmail":{"description":"The user's primary email address.","type":"string"}},"examples":[{"alias":"john.doe.local@example.com","etag":"\"etag_value\"","id":"user_id","kind":"admin#directory#alias","primaryEmail":"john.doe@example.com"}],"required":["id","primaryEmail","alias","kind","etag"]},"UserAliasEvent":{"description":"Type of the Alias Event","oneOf":[{"description":"Alias Created Event","type":"string","const":"ADD"},{"description":"Alias Deleted Event","type":"string","const":"DELETE"}]},"UserAppMembership":{"description":"A user's membership in an application, including how access was granted.","type":"object","properties":{"app_id":{"description":"The app's primary key UUID.","type":"string","format":"uuid"},"app_name":{"description":"Display name of the application.","type":"string"},"composite_group_id":{"description":"The composite group UUID that links this app to the user's membership.","type":"string","format":"uuid"},"external_id":{"description":"External IdP identifier for the app (e.g., JumpCloud app ID). Null for apps without an IdP link.","type":["string","null"]},"logo_url":{"description":"URL to the app's logo image.","type":["string","null"]},"origin":{"description":"Whether this row is backed by a group_memberships database row that links the user to the app's composite group (\"database\"), or was computed purely from live dynamic-rule evaluation or descendant expansion (\"computed\"). \"computed\" signals drift: the user has access via provider reality but no database row confirms it yet.","allOf":[{"$ref":"#/components/schemas/Origin"}]},"rule_type":{"description":"How the user gained access: STATIC (direct member of the app's group) or NESTED (via a nested group).","type":"string"},"source_group_id":{"description":"For NESTED memberships, the composite group UUID of the group that granted access. Null for STATIC and DYNAMIC.","type":["string","null"],"format":"uuid"},"source_group_name":{"description":"For NESTED memberships, the name of the group that granted access. Null for STATIC and DYNAMIC.","type":["string","null"]}},"examples":[{"app_id":"019223a6-41a4-7b2f-afd5-0cbcb9d48ebe","app_name":"Notion","composite_group_id":"019223a6-3ed0-72cb-a2fc-78ebe61630c8","external_id":"666a96251292ff856bf7cba7","logo_url":"https://img.logo.dev/notion.so","origin":"database","rule_type":"STATIC","source_group_id":null,"source_group_name":null}],"required":["app_id","app_name","composite_group_id","rule_type","origin"]},"UserApplicationsCountMap":{"description":"A map of user IDs to the count of applications they have access to.","type":"object","additionalProperties":{"type":"integer","format":"uint64","minimum":0},"examples":[{"665970bc72c298d6cafc59bf":2,"665975c3cc8cee1a6abedfaa":2}]},"UserApplicationsMap":{"description":"A map of user IDs to their applications.","type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/GraphObjectWithPaths"}},"examples":[{"665970bc72c298d6cafc59bf":[{"compiledAttributes":{"ldapGroups":[{"name":"All Users"}]},"id":"665970c1b986ab3a69ccda1d","paths":[],"type":"application"},{"compiledAttributes":{"ldapGroups":[{"name":"Design Team"}]},"id":"66a1bcb7c1ad866af1ac0b99","paths":[],"type":"application"}],"665975c3cc8cee1a6abedfaa":[{"compiledAttributes":{"ldapGroups":[{"name":"Designer App"}]},"id":"665970e9455d3c00016b97a6","paths":[],"type":"application"},{"compiledAttributes":{"ldapGroups":[{"name":"Core Team App"}]},"id":"665bf39d71ebc60001891234","paths":[],"type":"application"}]}]},"UserCreateWorkItemRequest":{"description":"Fields to create a work item. The work item starts unapproved and is assigned to you unless you specify an assignee.","type":"object","properties":{"assignee_user_id":{"description":"Optional ID of the user to assign. When omitted, the work item is assigned to the calling user. The assignee's email and display name are resolved automatically.","type":["string","null"],"format":"uuid"},"description":{"description":"Optional longer-form description of the work item.","type":["string","null"]},"due_date":{"description":"Optional due date (ISO 8601 calendar date). When omitted, the work item has no due date.","type":["string","null"],"format":"date"},"parent_id":{"description":"Optional ID of the parent work item. Must be an existing top-level, non-final work item in your organization that you have access to; work items can be nested one level deep.","type":["string","null"],"format":"uuid"},"target_resource_id":{"description":"ID of the resource this work item targets.","type":["string","null"],"format":"uuid"},"target_resource_kind":{"description":"Kind of resource this work item targets (e.g. APP, GROUP).","type":["string","null"]},"target_resource_meta":{"description":"Optional extra attributes for the targeted resource."},"target_user_email":{"description":"Optional email of the target user. The target user's ID and display name are resolved automatically, falling back to the email as the display name when the user isn't found in your organization.","type":["string","null"]},"title":{"description":"Short human-readable title for the work item.","type":"string"},"type":{"description":"Work item type (e.g. APP_ACCESS_REQUEST, USER_ONBOARDING, USER_OFFBOARDING).","type":"string"},"ultimate_assignee_user_id":{"description":"Optional ID of the user this work item should be assigned to once it is fully approved. When omitted, the downstream owner is determined automatically from the work item type and the targeted resource.","type":["string","null"],"format":"uuid"}},"required":["type","title"]},"UserGroupMembership":{"description":"A user's membership in a group, including how access was granted and whether the row is backed by the database or was computed live from provider data.","type":"object","properties":{"composite_group_id":{"description":"The composite group UUID.","type":"string","format":"uuid"},"group_name":{"description":"Display name of the group.","type":"string"},"origin":{"description":"Whether this row is backed by a group_memberships database row (\"database\") or was derived from live dynamic-rule evaluation or ancestor expansion with no backing row (\"computed\"). \"computed\" signals drift: provider reality is ahead of our database.","allOf":[{"$ref":"#/components/schemas/Origin"}]},"rule_type":{"description":"How the user gained access: STATIC (direct DB member), NESTED (inherited via a child group the user is in), or DYNAMIC (matched by the group's dynamic rules against live provider data).","type":"string"},"source_group_id":{"description":"For NESTED rule_type, the composite group UUID of the child group through which membership was inherited. Null for STATIC and DYNAMIC.","type":["string","null"],"format":"uuid"},"source_group_name":{"description":"For NESTED rule_type, the name of the child group through which membership was inherited. Null for STATIC and DYNAMIC.","type":["string","null"]}},"examples":[{"composite_group_id":"019223a6-3ed0-72cb-a2fc-78ebe61630c8","group_name":"Engineering","origin":"computed","rule_type":"DYNAMIC"}],"required":["composite_group_id","group_name","rule_type","origin"]},"UserGroupsCountMap":{"description":"A map of user IDs to the count of groups they belong to.","type":"object","additionalProperties":{"type":"integer","format":"uint64","minimum":0},"examples":[{"665970bc72c298d6cafc59bf":2,"665975c3cc8cee1a6abedfaa":2}]},"UserGroupsMap":{"description":"A map of user IDs to their groups.","type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/GraphObjectWithPaths"}},"examples":[{"665970bc72c298d6cafc59bf":[{"compiledAttributes":{"ldapGroups":[{"name":"All Users"}]},"id":"665970b72c529d00012e51ca","paths":[],"type":"userGroup"},{"compiledAttributes":{"ldapGroups":[{"name":"ShiftControl [App Assignment]"}]},"id":"665970be8cb1da000144e2a1","paths":[],"type":"userGroup"}],"665975c3cc8cee1a6abedfaa":[{"compiledAttributes":{"ldapGroups":[{"name":"Design"}]},"id":"66597b24eaa1e300016bcd55","paths":[],"type":"userGroup"},{"compiledAttributes":{"ldapGroups":[{"name":"Core Team"}]},"id":"665bf39d71ebc600018195a4","paths":[],"type":"userGroup"}]}]},"UserId":{"type":"object","properties":{"_id":{"description":"The JumpCloud user ID","type":"string"}},"required":["_id"]},"UserIds":{"description":"A list of user IDs.","type":"array","examples":[["66597a825828431c8457dc86","66597a825828431c8457dc87"]],"items":{"type":"string"}},"UserInOrg":{"type":"object","properties":{"additional_roles":{"type":"array","items":{"type":"string"}},"inherited_user_roles_plus_current_role":{"type":"array","items":{"type":"string"}},"org_id":{"type":"string"},"org_metadata":{"type":"object","additionalProperties":true},"org_name":{"type":"string"},"org_role_structure":{"$ref":"#/components/schemas/OrgRoleStructure"},"user_permissions":{"type":"array","items":{"type":"string"}},"user_role":{"type":"string"}},"required":["org_id","org_name","org_metadata","org_role_structure","user_role","inherited_user_roles_plus_current_role","user_permissions","additional_roles"]},"UserMetadata":{"type":"object","properties":{"additional_roles_in_org":{"description":"`additional_roles_in_org` is only returned when using `fetch_users_in_org`\nand is their additional roles for the org specified in the query.","type":["array","null"],"default":null,"items":{"type":"string"}},"created_at":{"type":"integer","format":"int64"},"email":{"type":"string"},"email_confirmed":{"type":"boolean"},"enabled":{"type":"boolean"},"first_name":{"type":["string","null"]},"has_password":{"type":"boolean"},"last_active_at":{"type":"integer","format":"int64"},"last_name":{"type":["string","null"]},"legacy_user_id":{"type":["string","null"]},"locked":{"type":"boolean"},"metadata":{"type":["object","null"],"additionalProperties":true},"mfa_enabled":{"type":"boolean"},"org_id_to_org_info":{"type":["object","null"],"additionalProperties":{"$ref":"#/components/schemas/UserInOrg"}},"picture_url":{"type":["string","null"]},"properties":{"type":["object","null"],"additionalProperties":true},"role_in_org":{"description":"`role_in_org` is only returned when using `fetch_users_in_org`\nand is their role for the org specified in the query.","type":["string","null"],"default":null},"user_id":{"type":"string"},"username":{"type":["string","null"]}},"required":["user_id","email","email_confirmed","has_password","locked","enabled","mfa_enabled","created_at","last_active_at"]},"UserMetric":{"description":"Local OS account metrics","type":"object","properties":{"admin":{"type":["boolean","null"]},"managed":{"type":["boolean","null"]},"secureTokenEnabled":{"type":["boolean","null"]},"suspended":{"type":["boolean","null"]},"userName":{"type":["string","null"]}},"examples":[{"admin":true,"managed":true,"secureTokenEnabled":true,"suspended":false,"userName":"jdoe"}]},"UserName":{"description":"Holds the given and family names of the user, and the read-only fullName value. Maximum allowed data size is 1KB.","type":"object","properties":{"displayName":{"description":"The user's display name. Limit: 256 characters.","type":["string","null"]},"familyName":{"description":"The user's last name. Required when creating a user account, but may be absent in some API responses.","type":["string","null"]},"fullName":{"description":"The user's full name formed by concatenating the first and last name values. Read-only output field — may be absent in some API responses.","type":["string","null"]},"givenName":{"description":"The user's first name. Required when creating a user account, but may be absent in some API responses.","type":["string","null"]}}},"UserPagedResponse":{"type":"object","properties":{"current_page":{"type":"integer","format":"int64"},"has_more_results":{"type":"boolean"},"page_size":{"type":"integer","format":"int64"},"total_users":{"type":"integer","format":"int64"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserMetadata"}}},"required":["users","total_users","current_page","page_size","has_more_results"]},"UserPhoto":{"description":"Represents a user photo resource with upload data and metadata.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"height":{"description":"Height of the photo in pixels.","type":"integer","format":"int32"},"id":{"description":"The ID the API uses to uniquely identify the user.","type":"string"},"kind":{"description":"The type of the API resource. For Photo resources, this is admin#directory#user#photo.","type":"string"},"mimeType":{"description":"The MIME type of the photo. Allowed values are JPEG, PNG, GIF, BMP, TIFF, and web-safe base64 encoding.","type":"string"},"photoData":{"description":"The user photo's upload data in web-safe Base64 format in bytes. This means:\n\nThe slash (/) character is replaced with the underscore (_) character.\nThe plus sign (+) character is replaced with the hyphen (-) character.\nThe equals sign (=) character is replaced with the asterisk (*) character.\nFor padding, the period (.) character is used instead of the RFC-4648 baseURL definition which uses the equals sign (=) for padding. This is done to simplify URL-parsing.\nWhatever the size of the photo being uploaded, the API downsizes it to 96x96 pixels.\nA base64-encoded string.","type":"string"},"primaryEmail":{"description":"The user's primary email address.","type":"string"},"width":{"description":"Width of the photo in pixels.","type":"integer","format":"int32"}},"examples":[{"etag":"\"etag123\"","height":96,"id":"user123","kind":"admin#directory#user#photo","mimeType":"JPEG","photoData":"abcd1234","primaryEmail":"user@example.com","width":96}],"required":["id","primaryEmail","kind","etag","photoData","mimeType","width","height"]},"UserReactivate":{"type":"object","properties":{"isSelectAll":{"type":"boolean"},"models":{"type":"array","items":{"$ref":"#/components/schemas/UserId"}},"recipientEmail":{"type":["string","null"]}},"examples":[{"isSelectAll":false,"models":[{"_id":"6661656165d2e944e2c7dfa2"}],"recipientEmail":"primary_email"}],"required":["isSelectAll","models"]},"UserReference":{"description":"A reference to a user within a specific directory","type":"object","properties":{"directory_id":{"description":"The directory UUID this user belongs to","type":"string","format":"uuid"},"user_id":{"description":"The user ID within that directory","type":"string"}},"examples":[{"directory_id":"00000000-0000-0000-0000-000000000000","user_id":"665970bc72c298d6cafc59bf"}],"required":["directory_id","user_id"]},"UserSearchRequest":{"type":"object","properties":{"fields":{"type":["string","null"]},"filter":{"type":["object","null"],"additionalProperties":true},"searchFilter":{"type":["object","null"],"additionalProperties":true}},"examples":[{"fields":"id email firstname lastname displayname","searchFilter":{"fields":["email","firstname","lastname","displayname"]}}]},"UserStateResponse":{"description":"User State Response","type":"object","properties":{"events_count":{"type":"integer","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledUserStateResult"}}},"examples":[{"events_count":1,"results":[{"scheduledDate":"2025-04-04T16:00:00.000Z","scheduledJobId":"66ab36638cff7300011cb16e","state":"SUSPENDED","systemUserId":"66597a88b986ab3a69d15376"}]}],"required":["events_count","results"]},"UserUndelete":{"description":"Represents a user undelete request containing the organizational unit of the user.","type":"object","properties":{"orgUnitPath":{"description":"OrgUnit of User.","type":"string"}},"examples":[{"orgUnitPath":"/Engineering"}],"required":["orgUnitPath"]},"VerificationCode":{"description":"The Directory API allows you to view, generate, and invalidate backup verification codes for a user.","type":"object","properties":{"etag":{"description":"ETag of the resource.","type":"string"},"kind":{"description":"The type of the resource. This is always admin#directory#verificationCode.","type":"string"},"userId":{"description":"The obfuscated unique ID of the user.","type":"string"},"verificationCode":{"description":"A current verification code for the user. Invalidated or used verification codes are not returned as part of the result.","type":"string"}},"examples":[{"etag":"etag_value","kind":"admin#directory#verificationCode","userId":"obfuscated_id","verificationCode":"ABC123"}],"required":["userId","verificationCode","kind","etag"]},"ViewType":{"description":"ViewType Enums:\nadmin_view: Results include both administrator-only and domain-public fields for the user.\ndomain_public: Results only include fields for the user that are publicly visible to other users in the domain.","oneOf":[{"description":"Results include both administrator-only and domain-public fields for the user.","type":"string","const":"ADMIN_VIEW"},{"description":"Results only include fields for the user that are publicly visible to other users in the domain.","type":"string","const":"DOMAIN_PUBLIC"}]},"WatchUserAliasQueryParams":{"description":"Query parameters for listing user aliases.","type":"object","properties":{"event":{"description":"Event to watch for.","anyOf":[{"$ref":"#/components/schemas/UserAliasEvent"},{"type":"null"}]}},"examples":[{"event":"ADD"}]},"WatchUserQueryParams":{"description":"Query parameters for watching changes to directory users.","type":"object","properties":{"customFieldMask":{"description":"Comma-separated list of schema names. All fields from these schemas are fetched. Set only when projection is custom.","type":["string","null"]},"customer":{"description":"Immutable ID of the Google Workspace account. For multi-domain accounts, fill this field instead of domain.","type":["string","null"]},"domain":{"description":"Name of the domain. Fill this field to get users from only this domain. For multi-domain accounts, fill the customer field instead.","type":["string","null"]},"event":{"description":"Event type to watch for.","anyOf":[{"$ref":"#/components/schemas/EventType"},{"type":"null"}]},"maxResults":{"description":"Maximum number of results to return.","type":["integer","null"],"format":"uint32","minimum":0},"orderBy":{"description":"Column to use for sorting results.","anyOf":[{"$ref":"#/components/schemas/OrderBy2"},{"type":"null"}]},"pageToken":{"description":"Token to specify next page in the list.","type":["string","null"]},"projection":{"description":"Subset of fields to fetch for this user.","anyOf":[{"$ref":"#/components/schemas/Projection"},{"type":"null"}]},"query":{"description":"Query string search. Follow the user search documentation.","type":["string","null"]},"showDeleted":{"description":"If set to true, retrieves the list of deleted users (default: false).","type":["string","null"]},"sortOrder":{"description":"Specifies whether to return results in ascending or descending order.","anyOf":[{"$ref":"#/components/schemas/SortOrder2"},{"type":"null"}]},"viewType":{"description":"Specifies whether to fetch the administrator-only or domain-wide public view of the user.","anyOf":[{"$ref":"#/components/schemas/ViewType"},{"type":"null"}]}},"examples":[{"customFieldMask":"customField1,customField2","customer":"my_customer","domain":"example.com","event":"ADD","maxResults":100,"orderBy":"EMAIL","pageToken":"nextPageToken","projection":"FULL","query":"name:John","showDeleted":"true","sortOrder":"ASCENDING","viewType":"ADMIN_VIEW"}]},"WebAuthNCredential":{"description":"A webauthn credential for a user.","type":"object","properties":{"attachment":{"type":"string"},"credentialId":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"registrationDate":{"type":"string"},"selfRegistered":{"type":"boolean"},"userObjectId":{"type":["string","null"]}},"examples":[{"attachment":"cross-platform","credentialId":"Qznua7oiIoY-d3tqEFezofR9GDgFMLWCsPTSp7K2IBlt1ALBv75hdb1lXO0QyOT8jTBSV7n69KESVQ_HlvQT3Q","id":"1234567890abcdef12345678","name":"Yubikey","registrationDate":"2025-03-11T00:28:09.479Z","selfRegistered":false,"userObjectId":null}],"required":["id","credentialId","name","registrationDate","selfRegistered","attachment"]},"Website":{"description":"Represents a website associated with the user.","type":"object","properties":{"customType":{"description":"If the website type is custom, this property contains the custom value and must be set.","type":["string","null"]},"primary":{"description":"If true, this is the user's primary website.","type":["boolean","null"]},"type":{"description":"The type or purpose of the website. Allowed values: app_install_page, blog, custom, ftp, home, home_page, other, profile, reservations, resume, work.","type":["string","null"]},"value":{"description":"The URL of the website.","type":["string","null"]}}},"WhoCanAdd":{"description":"Permissions to add members. Deprecated. This is merged into the whoCanModerateMembers setting.","oneOf":[{"description":"Managers and members can directly add new members.","type":"string","const":"ALL_MEMBERS_CAN_ADD"},{"description":"Only managers can directly add new members. This includes the group's owner.","type":"string","const":"ALL_MANAGERS_CAN_ADD"},{"description":"Only owners can directly add new members.","type":"string","const":"ALL_OWNERS_CAN_ADD"},{"description":"No one can directly add new members.","type":"string","const":"NONE_CAN_ADD"}]},"WhoCanApproveMembers":{"description":"Specifies who can approve members who ask to join groups. This permission will be deprecated once it is merged into the whoCanModerateMembers setting.","oneOf":[{"description":"All members of the group can approve.","type":"string","const":"ALL_MEMBERS_CAN_APPROVE"},{"description":"Only managers of the group can approve.","type":"string","const":"ALL_MANAGERS_CAN_APPROVE"},{"description":"Only owners of the group can approve.","type":"string","const":"ALL_OWNERS_CAN_APPROVE"},{"description":"No one can approve.","type":"string","const":"NONE_CAN_APPROVE"}]},"WhoCanAssistContent":{"description":"Specifies permissions for assisting content.","oneOf":[{"description":"All members of the group can perform this action.","type":"string","const":"ALL_MEMBERS"},{"description":"Only owners and managers of the group can perform this action.","type":"string","const":"OWNERS_AND_MANAGERS"},{"description":"Only owners of the group can perform this action.","type":"string","const":"OWNERS_ONLY"},{"description":"No one is allowed to perform this action.","type":"string","const":"NONE"}]},"WhoCanContactOwner":{"description":"Permission to contact owner of the group via web UI.","oneOf":[{"description":"Only users within the domain can contact the group owner.","type":"string","const":"ALL_IN_DOMAIN_CAN_CONTACT"},{"description":"Only group managers can contact the group owner.","type":"string","const":"ALL_MANAGERS_CAN_CONTACT"},{"description":"All group members can contact the group owner.","type":"string","const":"ALL_MEMBERS_CAN_CONTACT"},{"description":"Anyone, including external users, can contact the group owner.","type":"string","const":"ANYONE_CAN_CONTACT"}]},"WhoCanDiscoverGroup":{"description":"Specifies the set of users for whom this group is discoverable.","oneOf":[{"description":"Anyone, including external users, can discover the group.","type":"string","const":"ANYONE_CAN_DISCOVER"},{"description":"Only users within the domain can discover the group.","type":"string","const":"ALL_IN_DOMAIN_CAN_DISCOVER"},{"description":"Only group members can discover the group.","type":"string","const":"ALL_MEMBERS_CAN_DISCOVER"}]},"WhoCanInvite":{"description":"Permissions to invite new members.","oneOf":[{"description":"Managers and members can invite a new member candidate.","type":"string","const":"ALL_MEMBERS_CAN_INVITE"},{"description":"Only managers can invite a new member. This includes the group's owner.","type":"string","const":"ALL_MANAGERS_CAN_INVITE"},{"description":"Only owners can invite a new member.","type":"string","const":"ALL_OWNERS_CAN_INVITE"},{"description":"No one can invite a new member candidate.","type":"string","const":"NONE_CAN_INVITE"}]},"WhoCanJoin":{"description":"Permission to join group.","oneOf":[{"description":"Any internet user, both inside and outside your domain, can join the group.","type":"string","const":"ANYONE_CAN_JOIN"},{"description":"Anyone in the account domain can join. This includes accounts with multiple domains.","type":"string","const":"ALL_IN_DOMAIN_CAN_JOIN"},{"description":"Candidates for membership can be invited to join.","type":"string","const":"INVITED_CAN_JOIN"},{"description":"Non-members can request an invitation to join.","type":"string","const":"CAN_REQUEST_TO_JOIN"}]},"WhoCanLeaveGroup":{"description":"Permission to leave the group.","oneOf":[{"description":"Only managers can leave the group.","type":"string","const":"ALL_MANAGERS_CAN_LEAVE"},{"description":"All members can leave the group.","type":"string","const":"ALL_MEMBERS_CAN_LEAVE"},{"description":"Only owners can leave the group.","type":"string","const":"ALL_OWNERS_CAN_LEAVE"},{"description":"No one can leave the group.","type":"string","const":"NONE_CAN_LEAVE"}]},"WhoCanModerateContent":{"description":"Specifies permissions for moderating content.","oneOf":[{"description":"All members of the group can perform this action.","type":"string","const":"ALL_MEMBERS"},{"description":"Only owners and managers of the group can perform this action.","type":"string","const":"OWNERS_AND_MANAGERS"},{"description":"Only owners of the group can perform this action.","type":"string","const":"OWNERS_ONLY"},{"description":"No one is allowed to perform this action.","type":"string","const":"NONE"}]},"WhoCanModerateMembers":{"description":"Specifies permissions for moderating members.","oneOf":[{"description":"All members of the group can perform this action.","type":"string","const":"ALL_MEMBERS"},{"description":"Only owners and managers of the group can perform this action.","type":"string","const":"OWNERS_AND_MANAGERS"},{"description":"Only owners of the group can perform this action.","type":"string","const":"OWNERS_ONLY"},{"description":"No one is allowed to perform this action.","type":"string","const":"NONE"}]},"WhoCanPostMessage":{"description":"Permissions to post messages.","oneOf":[{"description":"The group is disabled and archived. No one can post a message to this group.","type":"string","const":"NONE_CAN_POST"},{"description":"Managers, including group owners, can post messages.","type":"string","const":"ALL_MANAGERS_CAN_POST"},{"description":"Any group member can post a message.","type":"string","const":"ALL_MEMBERS_CAN_POST"},{"description":"Only group owners can post a message.","type":"string","const":"ALL_OWNERS_CAN_POST"},{"description":"Anyone in the account can post a message.","type":"string","const":"ALL_IN_DOMAIN_CAN_POST"},{"description":"Any internet user who can access your Google Groups service can post a message.","type":"string","const":"ANYONE_CAN_POST"}]},"WhoCanViewGroup":{"description":"Permissions to view group messages.","oneOf":[{"description":"Any internet user can view the group's messages.","type":"string","const":"ANYONE_CAN_VIEW"},{"description":"Anyone in your account can view this group's messages.","type":"string","const":"ALL_IN_DOMAIN_CAN_VIEW"},{"description":"All group members can view the group's messages.","type":"string","const":"ALL_MEMBERS_CAN_VIEW"},{"description":"Any group manager can view this group's messages.","type":"string","const":"ALL_MANAGERS_CAN_VIEW"}]},"WhoCanViewMembership":{"description":"Permissions to view membership.","oneOf":[{"description":"Anyone in the account can view the group members list. If a group already has external members, those members can still send email to this group.","type":"string","const":"ALL_IN_DOMAIN_CAN_VIEW"},{"description":"The group members can view the group members list.","type":"string","const":"ALL_MEMBERS_CAN_VIEW"},{"description":"The group managers can view group members list.","type":"string","const":"ALL_MANAGERS_CAN_VIEW"}]},"WorkItem":{"description":"A work item representing a unit of work in the task management system (onboarding, offboarding, access requests, etc.).","type":"object","properties":{"approved_at":{"description":"Timestamp when the work item was approved; omitted if not yet approved.","type":["string","null"],"format":"partial-date-time"},"assignee_email":{"description":"Email of the assigned user, captured at assignment time. Absent while a work item is awaiting approval (it has no assignee until approved) or otherwise unassigned.","type":["string","null"]},"assignee_name":{"description":"Display name of the assigned user, captured at assignment time. Absent while a work item is awaiting approval or otherwise unassigned.","type":["string","null"]},"assignee_user_id":{"description":"ID of the assigned user; omitted if unassigned.","type":["string","null"],"format":"uuid"},"closed_at":{"description":"Timestamp when the work item was closed; present only once the item is DONE or CANCELED.","type":["string","null"],"format":"partial-date-time"},"created_at":{"description":"Timestamp when the work item was created.","type":"string","format":"partial-date-time"},"description":{"description":"Optional longer description of the work item.","type":["string","null"]},"display_key":{"description":"Human-readable key for the work item, e.g. \"SC-142\". May be absent until the key has been assigned.","type":["string","null"]},"display_number":{"description":"Per-item number used to render the work item's display key. May be absent until a number has been assigned.","type":["integer","null"],"format":"int64"},"due_date":{"description":"Optional due date for the work item.","type":["string","null"],"format":"date"},"id":{"description":"Unique identifier of the work item.","type":"string","format":"uuid"},"org_id":{"description":"Organization this work item belongs to.","type":"string","format":"uuid"},"parent_id":{"description":"ID of the parent work item when this is a sub-item; omitted for top-level items. Work items can be nested one level deep.","type":["string","null"],"format":"uuid"},"parent_title":{"description":"Title of this item's parent work item, if it has one.","type":["string","null"]},"scim_eligible":{"description":"Whether this work item is eligible for SCIM-based auto-execution.","type":"boolean"},"source":{"description":"What triggered this work item's creation (e.g. HRIS_EVENT, MANUAL_ADMIN).","allOf":[{"$ref":"#/components/schemas/WorkItemSourceEnum"}]},"source_event_id":{"description":"ID of the event that created this work item automatically; absent for manually created items.","type":["string","null"],"format":"uuid"},"status":{"description":"Current lifecycle state: TODO, IN_PROGRESS, BLOCKED, DONE, or CANCELED.","allOf":[{"$ref":"#/components/schemas/WorkItemStatusEnum"}]},"target_resource_id":{"description":"ID of the resource this work item targets, if any.","type":["string","null"],"format":"uuid"},"target_resource_kind":{"description":"Kind of resource this work item targets (e.g. APP, GROUP); absent when the item targets no resource.","anyOf":[{"$ref":"#/components/schemas/WorkItemResourceKindEnum"},{"type":"null"}]},"target_resource_meta":{"description":"Optional extra attributes for the targeted resource."},"target_resource_name":{"description":"Name of the targeted resource, captured at the time the work item referenced it.","type":["string","null"]},"target_user_email":{"description":"Email address of the target user.","type":"string"},"target_user_id":{"description":"ID of the target user; filled in once the user joins your organization.","type":["string","null"],"format":"uuid"},"target_user_name":{"description":"Display name of the target user, captured at creation time.","type":"string"},"template_id":{"description":"Optional ID of the template used to create this work item.","type":["string","null"],"format":"uuid"},"title":{"description":"Short title describing the work item (up to 500 characters).","type":"string"},"type":{"description":"What kind of work this item represents (e.g. USER_ONBOARDING, APP_ACCESS_REQUEST).","allOf":[{"$ref":"#/components/schemas/WorkItemTypeEnum"}]},"updated_at":{"description":"Timestamp of the last update.","type":"string","format":"partial-date-time"},"watcher_emails":{"description":"Email addresses of the users watching this work item.","type":"array","items":{"type":"string"}}},"examples":[{"approved_at":null,"assignee_email":"admin@acme.com","assignee_name":"IT Admin","assignee_user_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","closed_at":null,"created_at":"2026-05-19T10:00:00","description":"Set up accounts and access for new hire Jane Smith","display_key":"SC-142","display_number":142,"due_date":"2026-06-01","id":"01927659-1a21-7141-8e88-b36712258d38","org_id":"3756d031-835e-45f5-a709-82ec7335957f","parent_id":null,"parent_title":null,"scim_eligible":false,"source":"HRIS_EVENT","source_event_id":null,"status":"TODO","target_resource_id":null,"target_resource_kind":null,"target_resource_meta":null,"target_resource_name":null,"target_user_email":"jane.smith@acme.com","target_user_id":null,"target_user_name":"Jane Smith","template_id":null,"title":"Onboard Jane Smith","type":"USER_ONBOARDING","updated_at":"2026-05-19T10:00:00","watcher_emails":[]}],"required":["id","org_id","type","source","status","title","target_user_email","target_user_name","scim_eligible","created_at","updated_at","watcher_emails"]},"WorkItemComment":{"description":"An immutable plain-text comment on a work item.","type":"object","properties":{"author_email":{"description":"Email of the comment author, captured when the comment was created.","type":"string"},"author_name":{"description":"Display name of the comment author, captured when the comment was created.","type":"string"},"author_user_id":{"description":"ID of the comment author; omitted for system-posted comments.","type":["string","null"],"format":"uuid"},"body":{"description":"Plain-text comment body.","type":"string"},"created_at":{"description":"Timestamp when the comment was created.","type":"string","format":"partial-date-time"},"id":{"description":"Unique identifier of the comment.","type":"string","format":"uuid"},"org_id":{"description":"Organization this comment belongs to.","type":"string","format":"uuid"},"work_item_id":{"description":"The work item this comment belongs to.","type":"string","format":"uuid"}},"examples":[{"author_email":"jane.doe@example.com","author_name":"Jane Doe","author_user_id":"3756d031-835e-45f5-a709-82ec7335957f","body":"Reached out to the employee — waiting on confirmation before proceeding.","created_at":"2026-05-20T14:30:00","id":"019713a0-b1c2-7000-8000-000000000001","org_id":"3756d031-835e-45f5-a709-82ec7335957f","work_item_id":"019713a0-a1b2-7000-8000-000000000001"}],"required":["id","org_id","work_item_id","author_email","author_name","body","created_at"]},"WorkItemDetailResponse":{"description":"A work item with its history, comments, and watchers inlined. The work item fields are flattened into the top-level object.","type":"object","properties":{"approval":{"description":"Approval status of this work item. Present only for work items that go through an approval process; omitted otherwise.","anyOf":[{"$ref":"#/components/schemas/ApprovalBlock"},{"type":"null"}]},"approved_at":{"description":"Timestamp when the work item was approved; omitted if not yet approved.","type":["string","null"],"format":"partial-date-time"},"assignee_email":{"description":"Email of the assigned user, captured at assignment time. Absent while a work item is awaiting approval (it has no assignee until approved) or otherwise unassigned.","type":["string","null"]},"assignee_name":{"description":"Display name of the assigned user, captured at assignment time. Absent while a work item is awaiting approval or otherwise unassigned.","type":["string","null"]},"assignee_user_id":{"description":"ID of the assigned user; omitted if unassigned.","type":["string","null"],"format":"uuid"},"closed_at":{"description":"Timestamp when the work item was closed; present only once the item is DONE or CANCELED.","type":["string","null"],"format":"partial-date-time"},"comments":{"description":"Plain-text comments on this work item, oldest first.","type":"array","items":{"$ref":"#/components/schemas/WorkItemComment"}},"created_at":{"description":"Timestamp when the work item was created.","type":"string","format":"partial-date-time"},"description":{"description":"Optional longer description of the work item.","type":["string","null"]},"display_key":{"description":"Human-readable key for the work item, e.g. \"SC-142\". May be absent until the key has been assigned.","type":["string","null"]},"display_number":{"description":"Per-item number used to render the work item's display key. May be absent until a number has been assigned.","type":["integer","null"],"format":"int64"},"due_date":{"description":"Optional due date for the work item.","type":["string","null"],"format":"date"},"history":{"description":"Immutable audit trail entries for this work item, oldest first.","type":"array","items":{"$ref":"#/components/schemas/WorkItemHistory"}},"id":{"description":"Unique identifier of the work item.","type":"string","format":"uuid"},"org_id":{"description":"Organization this work item belongs to.","type":"string","format":"uuid"},"parent_id":{"description":"ID of the parent work item when this is a sub-item; omitted for top-level items. Work items can be nested one level deep.","type":["string","null"],"format":"uuid"},"parent_title":{"description":"Title of this item's parent work item, if it has one.","type":["string","null"]},"scim_eligible":{"description":"Whether this work item is eligible for SCIM-based auto-execution.","type":"boolean"},"source":{"description":"What triggered this work item's creation (e.g. HRIS_EVENT, MANUAL_ADMIN).","allOf":[{"$ref":"#/components/schemas/WorkItemSourceEnum"}]},"source_event_id":{"description":"ID of the event that created this work item automatically; absent for manually created items.","type":["string","null"],"format":"uuid"},"status":{"description":"Current lifecycle state: TODO, IN_PROGRESS, BLOCKED, DONE, or CANCELED.","allOf":[{"$ref":"#/components/schemas/WorkItemStatusEnum"}]},"target_resource_id":{"description":"ID of the resource this work item targets, if any.","type":["string","null"],"format":"uuid"},"target_resource_kind":{"description":"Kind of resource this work item targets (e.g. APP, GROUP); absent when the item targets no resource.","anyOf":[{"$ref":"#/components/schemas/WorkItemResourceKindEnum"},{"type":"null"}]},"target_resource_meta":{"description":"Optional extra attributes for the targeted resource."},"target_resource_name":{"description":"Name of the targeted resource, captured at the time the work item referenced it.","type":["string","null"]},"target_user_email":{"description":"Email address of the target user.","type":"string"},"target_user_id":{"description":"ID of the target user; filled in once the user joins your organization.","type":["string","null"],"format":"uuid"},"target_user_name":{"description":"Display name of the target user, captured at creation time.","type":"string"},"template_id":{"description":"Optional ID of the template used to create this work item.","type":["string","null"],"format":"uuid"},"title":{"description":"Short title describing the work item (up to 500 characters).","type":"string"},"type":{"description":"What kind of work this item represents (e.g. USER_ONBOARDING, APP_ACCESS_REQUEST).","allOf":[{"$ref":"#/components/schemas/WorkItemTypeEnum"}]},"updated_at":{"description":"Timestamp of the last update.","type":"string","format":"partial-date-time"},"watcher_emails":{"description":"Email addresses of the users watching this work item.","type":"array","items":{"type":"string"}},"watchers":{"description":"Users watching this work item.","type":"array","items":{"$ref":"#/components/schemas/WorkItemWatcher"}}},"examples":[{"approved_at":null,"assignee_email":"admin@acme.com","assignee_name":"IT Admin","assignee_user_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","closed_at":null,"created_at":"2026-05-19T10:00:00","description":"Set up accounts and access for new hire Jane Smith","display_key":"SC-142","display_number":142,"due_date":"2026-06-01","id":"01927659-1a21-7141-8e88-b36712258d38","org_id":"3756d031-835e-45f5-a709-82ec7335957f","parent_id":null,"parent_title":null,"scim_eligible":false,"source":"HRIS_EVENT","source_event_id":null,"status":"TODO","target_resource_id":null,"target_resource_kind":null,"target_resource_meta":null,"target_resource_name":null,"target_user_email":"jane.smith@acme.com","target_user_id":null,"target_user_name":"Jane Smith","template_id":null,"title":"Onboard Jane Smith","type":"USER_ONBOARDING","updated_at":"2026-05-19T10:00:00","watcher_emails":[]}],"required":["id","org_id","type","source","status","title","target_user_email","target_user_name","scim_eligible","created_at","updated_at","watcher_emails","history","comments","watchers"]},"WorkItemHistory":{"description":"An immutable audit trail entry recording a state change on a work item.","type":"object","properties":{"action":{"description":"What happened in this audit entry (e.g. CREATED, STATUS_CHANGED, ASSIGNED).","allOf":[{"$ref":"#/components/schemas/HistoryAction"}]},"actor_email":{"description":"Email of the user who performed the action; omitted for system actions.","type":["string","null"]},"actor_name":{"description":"Display name of the user who performed the action; omitted for system actions.","type":["string","null"]},"actor_user_id":{"description":"ID of the user who performed the action; omitted for system actions.","type":["string","null"],"format":"uuid"},"after":{"description":"The changed fields as they are after the change."},"before":{"description":"The changed fields as they were before the change; omitted when the item was first created."},"created_at":{"description":"Timestamp when this history entry was recorded.","type":"string","format":"partial-date-time"},"id":{"description":"Unique identifier of the history entry.","type":"string","format":"uuid"},"org_id":{"description":"Organization this history entry belongs to.","type":"string","format":"uuid"},"work_item_id":{"description":"The work item this history entry belongs to.","type":"string","format":"uuid"}},"required":["id","org_id","work_item_id","action","created_at"]},"WorkItemKeyPrefixResponse":{"description":"The organization's current work item key prefix.","type":"object","properties":{"org_id":{"description":"ID of the organization.","type":"string"},"work_item_key_prefix":{"description":"The 2-4 letter code shown at the start of every work item key, e.g. \"SC\" in \"SC-142\".","type":"string"}},"examples":[{"org_id":"3756d031-835e-45f5-a709-82ec7335957f","work_item_key_prefix":"SC"}],"required":["org_id","work_item_key_prefix"]},"WorkItemListFilters":{"description":"List/paginate work items. Combines offset pagination with work-item-specific filters (status, type, source, assignee, target user/app, parent, unapproved) combined with logical AND.","type":"object","properties":{"assignee_email":{"description":"Filter to work items whose assignee email matches (case-insensitive).","type":["string","null"]},"assignee_user_id":{"description":"Filter to work items currently assigned to this user UUID.","type":["string","null"],"format":"uuid"},"filter":{"description":"Free-text filter applied to the work item title (case-insensitive substring match).","type":["string","null"]},"open":{"description":"When true, return only open work items — those not yet DONE or CANCELED.","type":["boolean","null"]},"page":{"description":"The page to retrieve, always starts at 0. Defaults to 0 when omitted.","type":["integer","null"],"format":"int64"},"page_size":{"description":"The number of items to retrieve per page. Defaults to 10 when omitted; values below 1 are treated as 1.","type":["integer","null"],"format":"int64"},"parent_id":{"description":"Filter to work items whose parent_id matches this UUID (i.e. children of a given parent).","type":["string","null"],"format":"uuid"},"source":{"description":"Filter to work items with this source value (e.g. MANUAL_ADMIN, EMPLOYEE_REQUEST, SCIM, HRIS_EVENT).","anyOf":[{"$ref":"#/components/schemas/WorkItemSourceEnum"},{"type":"null"}]},"status":{"description":"Filter to work items in this status (e.g. NEW, IN_PROGRESS, BLOCKED, DONE, CANCELED).","anyOf":[{"$ref":"#/components/schemas/WorkItemStatusEnum"},{"type":"null"}]},"statuses":{"description":"Filter to work items whose status is any of these values. Repeat the parameter to pass several (e.g. statuses=TODO&statuses=IN_PROGRESS); combined with OR, then AND-ed with the other filters.","type":["array","null"],"items":{"$ref":"#/components/schemas/WorkItemStatusEnum"}},"target_resource_id":{"description":"Filter to work items targeting this resource ID.","type":["string","null"],"format":"uuid"},"target_resource_kind":{"description":"Filter to work items whose targeted resource is of this kind (e.g. APP, GROUP).","anyOf":[{"$ref":"#/components/schemas/WorkItemResourceKindEnum"},{"type":"null"}]},"target_user_email":{"description":"Filter to work items whose target user email matches (case-insensitive).","type":["string","null"]},"type":{"description":"Filter to work items of this type (e.g. APP_ACCESS_REQUEST, ONBOARDING, OFFBOARDING).","anyOf":[{"$ref":"#/components/schemas/WorkItemTypeEnum"},{"type":"null"}]},"unapproved":{"description":"When true, return only work items that are pending approval.","type":["boolean","null"]}},"additionalProperties":false},"WorkItemResourceKindEnum":{"type":"string"},"WorkItemSourceEnum":{"type":"string"},"WorkItemStatusEnum":{"type":"string"},"WorkItemTypeEnum":{"type":"string"},"WorkItemWatcher":{"description":"A user watching a work item. Receives notifications on updates.","type":"object","properties":{"added_by_email":{"description":"Email of the user who added this watcher; omitted for system-added watchers.","type":["string","null"]},"added_by_name":{"description":"Display name of the user who added this watcher; omitted for system-added watchers.","type":["string","null"]},"added_by_user_id":{"description":"ID of the user who added this watcher; omitted when the watcher was added automatically by the system.","type":["string","null"],"format":"uuid"},"created_at":{"description":"Timestamp when this watcher was added.","type":"string","format":"partial-date-time"},"email":{"description":"Email of the watcher, captured when they were added.","type":"string"},"id":{"description":"Unique identifier of the watcher entry.","type":"string","format":"uuid"},"name":{"description":"Display name of the watcher, captured when they were added.","type":"string"},"user_id":{"description":"ID of the watcher; omitted for email-only watchers who aren't yet a user in your organization.","type":["string","null"],"format":"uuid"},"work_item_id":{"description":"The work item this watcher is attached to.","type":"string","format":"uuid"}},"examples":[{"added_by_email":"admin@example.com","added_by_name":"Admin User","added_by_user_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","created_at":"2024-09-11T09:54:38.116430","email":"jane.doe@example.com","id":"01927659-1a21-7141-8e88-b36712258d38","name":"Jane Doe","user_id":"3756d031-835e-45f5-a709-82ec7335957f","work_item_id":"0192764d-c0eb-79f7-b658-3bb989057b24"}],"required":["id","work_item_id","email","name","created_at"]}}},"tags":[{"name":"API Keys","description":"Manage API keys for the org and users"},{"name":"App Catalog","description":"Browse app catalog"},{"name":"App Discovery","description":"Discover new apps"},{"name":"Apps","description":"Manage applications"},{"name":"Departments","description":"Manage departments"},{"name":"Employee Portal","description":"Manage employee portal settings"},{"name":"Groups","description":"Manage groups"},{"name":"Connector Catalog","description":"View the connector catalog"},{"name":"Connector","description":"Manage connectors"},{"name":"JumpCloud Administrators","description":"For customers with JumpCloud, we make use of the JumpCloud API to manage JumpCloud administrators."},{"name":"JumpCloud Apps","description":"For customers with JumpCloud, we make use of the JumpCloud API to manage JumpCloud apps."},{"name":"JumpCloud Scheduled Jobs","description":"For customers with JumpCloud, we make use of the JumpCloud API to manage scheduled jobs for JumpCloud users."},{"name":"JumpCloud Directories","description":"For customers with JumpCloud, we make use of the JumpCloud API to manage JumpCloud Cloud Directories."},{"name":"JumpCloud Employee Portal","description":"For customers with JumpCloud, we make use of the JumpCloud API to list JumpCloud apps for the Employee Portal."},{"name":"JumpCloud Groups","description":"For customers with JumpCloud, we make use of the JumpCloud API to manage JumpCloud groups."},{"name":"JumpCloud Users","description":"For customers with JumpCloud, we make use of the JumpCloud API to manage JumpCloud users."},{"name":"Locations","description":"Manage locations"},{"name":"Directories","description":"Manage directories"},{"name":"Organization","description":"Manage organization details"},{"name":"Tasks","description":"Manage tasks"},{"name":"User","description":"Manage user details"},{"name":"Google Workspace Groups","description":"Manage Google Workspace Directory Groups"},{"name":"Google Workspace Directory","description":"Manage Google Workspace Directory Operations"},{"name":"Google Workspace Admin Reports","description":"Access Google Admin Reports activities endpoints"}]}