# catalog_enrollment_programs_self_create Log user enrollment with a program. Endpoint: POST /api/catalog/enrollment/programs/self/ Version: 3.59.0-ai-plus Security: PlatformApiKeyAuthentication ## Query parameters: - `active` (boolean) Whether the enrollment should be active - `expired` (string) Date when enrollment expires - `ignore_expiration` (boolean) Whether to ignore expiration during unenrollment - `org` (string) Organization for the program - `platform_key` (string) Platform key for the program - `program_id` (string) Program ID for self-enrollment - `program_key` (string) Program key for self-enrollment - `slug` (string) Program slug for self-enrollment - `started` (string) Date when enrollment started - `user_id` (string) User ID for self-enrollment - `username` (string) Username for self-enrollment ## Request fields (application/json): - `user_id` (integer) - `username` (string) - `program_id` (string) - `program_key` (string) - `platform_key` (string) - `org` (string) - `name` (string) - `slug` (string) - `created` (string,null) Date when enrollment began/activated - `started` (string,null) Date when enrollment started - `expired` (string,null) Date when enrollment expires (null, if not expiring) - `active` (boolean) Whether the enrollment is active ## Response 200 fields (application/json): - `user_id` (integer) - `username` (string) - `program_id` (string) - `program_key` (string) - `platform_key` (string) - `org` (string) - `name` (string) - `slug` (string) - `created` (string,null) Date when enrollment began/activated - `started` (string,null) Date when enrollment started - `ended` (string,null, required) Date when enrollment ended/deactivated - `expired` (string,null) Date when enrollment expires (null, if not expiring) - `active` (boolean) Whether the enrollment is active