Skip to content

Problem types

For users and admins: every error the API returns is an RFC 9457 problem document { type, title, status, detail }. The type is one of the stable slugs below. This table is scanned from apps/api/src on every build, so it lists exactly the slugs the deployed API can answer with.

Type Status Title Thrown from
intro_self 400 Cannot ask yourself intros/intro.service.ts
invalid_cursor 400 Invalid cursor common/page.ts
linkedin_unavailable 400 LinkedIn did not answer media/linkedin-photo.service.ts
media_invalid 400 Unreadable image media/upload.ts
media_missing 400 No file uploaded media/upload.ts
media_too_large 400 Image too large media/fetch-image.ts
media_url_invalid 400 Image link not allowed media/fetch-image.ts
media_url_not_image 400 Link is not an image media/fetch-image.ts
media_url_unreachable 400 Image link could not be fetched media/fetch-image.ts
invalid_token 401 Invalid or missing bearer token mcp/mcp-auth.guard.ts
admin_required 403 Admin role required admin/admin.guard.ts
affiliation_side_required 403 Not a party to this affiliation projects/project-affiliation.service.ts
insufficient_scope 403 Insufficient scope mcp/mcp-auth.guard.ts
invitation_email_mismatch 403 Invitation email mismatch orgs/org-invitations.service.ts
join_policy_forbids 403 Join policy forbids orgs/join-requests.service.ts
membership_pending 403 Membership pending approval common/membership.guard.ts, mcp/mcp-auth.guard.ts, mcp/mcp.server.ts
membership_suspended 403 Membership suspended common/membership.guard.ts, mcp/mcp-auth.guard.ts, mcp/mcp.server.ts, orgs/org-applications.controller.ts
not_author 403 Not the author posts/post.service.ts
not_host 403 Not the host events/event.service.ts
org_role_required 403 Insufficient role mcp/mcp.server.ts, orgs/org-context.guard.ts, orgs/org-invitations.service.ts, orgs/org.service.ts, orgs/orgs.controller.ts, projects/project-affiliation.service.ts
progress_not_author 403 Not the author progress/progress.service.ts
progress_project_forbidden 403 Not on the project roster progress/progress.service.ts
project_manager_required 403 Project manager required projects/project.service.ts
publish_target_forbidden 403 Not a publish target you can use posts/post.service.ts, progress/progress.service.ts
affiliation_not_found 404 Affiliation not found projects/project-affiliation.service.ts
event_not_found 404 Event not found events/event.service.ts
intro_context_not_found 404 Intro context not found intros/intro.service.ts
intro_not_found 404 Intro request not found intros/intro.service.ts
intro_target_hidden 404 Member not found intros/intro.service.ts
invitation_not_found 404 Invitation not found orgs/org-invitations.service.ts
join_request_not_found 404 Join request not found orgs/join-requests.service.ts
linkedin_photo_missing 404 No LinkedIn photo media/linkedin-photo.service.ts
media_not_found 404 Media not found media/media.controller.ts
member_not_found 404 Member not found admin/admin.service.ts, mcp/mcp.server.ts, orgs/org.service.ts, projects/project.service.ts
org_application_not_found 404 Application not found orgs/org-applications.controller.ts, orgs/org-applications.service.ts
org_not_found 404 Organization not found mcp/mcp.server.ts, orgs/org-context.guard.ts, orgs/org.service.ts, orgs/orgs.controller.ts, posts/post.service.ts, progress/progress.service.ts, projects/project-affiliation.service.ts, public/public.controller.ts, search/search.service.ts
post_not_found 404 Post not found posts/post.service.ts
profile_not_found 404 Profile not found me/profile.service.ts, public/public.controller.ts, users/users.controller.ts
progress_not_found 404 Progress entry not found progress/progress.service.ts
project_not_found 404 Project not found projects/project.service.ts
affiliation_closed 409 Affiliation is closed projects/project-affiliation.service.ts
affiliation_exists 409 An affiliation is already open projects/project-affiliation.service.ts
affiliation_not_active 409 Affiliation is not active projects/project-affiliation.service.ts
affiliation_not_pending 409 Affiliation already decided projects/project-affiliation.service.ts
already_a_member 409 Already a member orgs/join-requests.service.ts
cannot_change_own_role 409 Cannot change your own role admin/admin.service.ts
cannot_suspend_self 409 Cannot suspend yourself admin/admin.service.ts
capacity_below_going 409 Capacity below the going count events/event.service.ts
event_not_editable 409 Event not editable events/event.service.ts
handle_taken 409 Handle already taken me/profile.service.ts
intro_not_pending 409 Intro request already answered intros/intro.service.ts
intro_pending_exists 409 Intro request already pending intros/intro.service.ts
invitation_exists 409 Invitation already pending orgs/org-invitations.service.ts
join_request_exists 409 Join request already pending orgs/join-requests.service.ts
last_lead 409 The last lead cannot be changed projects/project.service.ts
last_owner 409 The last owner cannot be changed orgs/org.service.ts
linkedin_not_linked 409 LinkedIn is not linked media/linkedin-photo.service.ts, progress/linkedin-share.service.ts
linkedin_relink_required 409 LinkedIn access expired media/linkedin-photo.service.ts, progress/linkedin-share.service.ts
member_suspended 409 Member is suspended, approve them first admin/admin.service.ts
org_application_decided 409 Application already decided orgs/org-applications.service.ts
org_application_exists 409 Application already pending orgs/org-applications.service.ts
org_slug_taken 409 Slug already taken orgs/org-applications.service.ts, orgs/org.service.ts
post_closed 409 Post is closed posts/post.service.ts
project_archived 409 Project is archived projects/project.service.ts
project_full 409 Project is full projects/project.service.ts
rsvp_closed 409 RSVPs are closed events/event.service.ts
invitation_expired 410 Invitation expired orgs/org-invitations.service.ts
invalid_time_range 422 Invalid time range events/event.service.ts
invalid_timezone 422 Invalid timezone events/event.service.ts
no_publish_target 422 No publish target posts/post.service.ts
scope_needs_org 422 Scope needs an organization events/event.service.ts
validation_failed 422 Validation failed common/zod.pipe.ts, events/event.service.ts, mcp/mcp.server.ts
intro_limit 429 Too many pending intro requests intros/intro.service.ts
database_unavailable 503 Database unavailable mcp/mcp-auth.guard.ts
discovery_unavailable 503 Authorization server metadata unavailable auth/well-known.controller.ts
jwks_unavailable 503 JWKS endpoint unavailable mcp/mcp-auth.guard.ts
linkedin_share_unavailable 503 LinkedIn sharing is off progress/linkedin-share.service.ts
linkedin_unavailable 503 LinkedIn did not answer progress/linkedin-share.service.ts