# WorkOS API Documentation

This is the complete API documentation for connecting to the WorkOS API using MindCloud's Universal API.

MindCloud offers one normalized API to access 3,400+ apps from a single place. It centralizes authentication and normalizes app APIs so they are easier and more consistent to use.

## Quickstart

1. A **MindCloud account** — sign in or create an account at [MindCloud](https://app.mindcloud.co).
2. A **MindCloud API Key** — create one in [API Keys](https://app.mindcloud.co/user/api-keys). Keep it on your server.
3. At least one **WorkOS connection** — create or choose one in [Connections](https://app.mindcloud.co/credentials). Note its `connectionId`.

```text
POST https://connect.mindcloud.co/v2/universal/apps/workOS/actions/{actionSlug}/run
```

## WorkOS actions

- POST `assign-a-role` Assign a role
- POST `check-authorization` Check authorization
- POST `create-a-password-reset-token` Create a password reset token
- POST `create-a-permission` Create a permission
- POST `create-a-user` Create a user
- POST `create-a-webhook-endpoint` Create a Webhook Endpoint
- POST `create-an-organization` Create an Organization
- POST `create-an-organization-domain` Create an Organization Domain
- POST `create-an-organization-membership` Create an organization membership
- PUT `deactivate-an-organization-membership` Deactivate an organization membership
- DELETE `delete-a-connection` Delete a Connection
- DELETE `delete-a-user` Delete a user
- DELETE `delete-a-webhook-endpoint` Delete a Webhook Endpoint
- DELETE `delete-an-organization-domain` Delete an Organization Domain
- DELETE `delete-an-organization-membership` Delete an organization membership
- GET `get-a-connection` Get a Connection
- GET `get-a-directory` Get a Directory
- GET `get-a-directory-group` Get a Directory Group
- GET `get-a-directory-user` Get a Directory User
- GET `get-a-feature-flag` Get a feature flag
- GET `get-a-password-reset-token` Get a password reset token
- GET `get-a-permission` Get a permission
- GET `get-a-user` Get a user
- GET `get-a-user-by-external-id` Get a user by external ID
- GET `get-an-invitation` Get an invitation
- GET `get-an-organization` Get an Organization
- GET `get-an-organization-by-external-id` Get an Organization by External ID
- GET `get-an-organization-domain` Get an Organization Domain
- GET `get-an-organization-membership` Get an organization membership
- GET `get-audit-log-configuration` Get Audit Log Configuration
- GET `get-retention` Get Retention
- GET `get-user-identities` Get user identities
- GET `list-connections` List Connections
- GET `list-directories` List Directories
- GET `list-directory-groups` List Directory Groups
- GET `list-directory-users` List Directory Users
- GET `list-events` List events
- GET `list-feature-flags` List feature flags
- GET `list-invitations` List invitations
- GET `list-organization-memberships` List organization memberships
- GET `list-organizations` List Organizations
- GET `list-permissions` List permissions
- GET `list-role-assignments` List role assignments
- GET `list-sessions` List sessions
- GET `list-users` List users
- GET `list-webhook-endpoints` List Webhook Endpoints
- PUT `reactivate-an-organization-membership` Reactivate an organization membership
- DELETE `remove-a-role-assignment` Remove a role assignment
- POST `resend-an-invitation` Resend an invitation
- POST `revoke-an-invitation` Revoke an invitation
- POST `send-an-invitation` Send an invitation
- POST `send-verification-email` Send verification email
- PUT `set-retention` Set Retention
- PUT `update-a-permission` Update a permission
- PUT `update-a-user` Update a user
- PUT `update-a-webhook-endpoint` Update a Webhook Endpoint
- PUT `update-an-organization` Update an Organization
- PUT `update-an-organization-membership` Update an organization membership
- POST `verify-an-organization-domain` Verify an Organization Domain
- POST `verify-email` Verify email
