Skip to main content

Not a member

typehttps://docs.frem.sh/reference/api/errors/not-a-member
HTTP status403 Forbidden

What it means

The login named in the request path is not a member of the organisation named in the same path, so the request was refused without taking any action.

This is a deliberate boundary, not a permissions problem with your token: a member-scoped endpoint will only act on members of the organisation you addressed. It prevents changing a setting for a user who happens to share a login name with someone in another organisation.

What to do

Check the login’s spelling, and confirm the user is a member of that organisation:

curl -H "Authorization: Bearer $FREMFORGE_TOKEN" \
  https://frem.sh/api/v1/orgs/<org>/members

Add them to the organisation first if they are missing. The login is matched case-insensitively, so casing alone is not the cause.

Not to be confused with

ErrorMeaning
not-foundNo such user exists anywhere on the instance.
forgejo-unavailableMembership could not be checked at all - a transient fault, not a statement about membership. Retry.

That last distinction matters when scripting: a 403 is a settled answer and retrying will not change it, while a 503 should be retried.

Response shape

All fremforge API errors are RFC 9457 problem+json:

{
  "type": "https://docs.frem.sh/reference/api/errors/not-a-member",
  "title": "Forbidden",
  "status": 403,
  "detail": "<login> is not a member of this organisation."
}

Branch on type, not on title or detail - those are human-readable and may be reworded.