orgs

Create an organisation.

Changed on

Authorization is evaluated at the chokepoint inside the request's own transaction. The organisation, org.created event, and creator's org admin template grants commit atomically. The privilege increase ends the creator's sessions; the new membership is usable after login.

Not idempotent: each call creates a distinct organisation. The name must be unused among live organisations; a collision is a conflict.

post/api/v1/orgs

Request

  • Base URL: / (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /api/v1/orgs
  • Auth: HTTP bearer

Request body

namestring required
activeboolean
metadataobject nullable

Free-form operator metadata. null and absent both mean "no metadata"; the round-trip of absent/null/value is fixture-pinned through both the Go and the TypeScript consumer.

acknowledgementsstring[]

Secret-scanning acknowledgement tokens (#74). On a value write, a keep-as-config token dismisses a Surface-1 warning for exactly that value. On a declaration write, one override token per finding is re-scanned against the current content; a stale, version-skewed, or surplus token is rejected by name. There is no blanket ignore-all input.

Response

The created organisation.

idstring required

A prefixed UUIDv7, e.g. org_0198….

namestring required
activeboolean required
metadataobject nullable
created_atstring date-time required

RFC 3339 UTC, microsecond precision.

origin'manual' | 'registration' required

How the org came to exist (#585 d8): manual (an operator's create) or registration (a sign-up under a registration policy, a self-served org). Typed on the row, never editable.

registration_policy_idstring nullable

The registration policy that minted the org, a trail pointer with no foreign key (the org keeps it after the policy is deleted); null for a manual org.

Changes

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new unprocessable enum value to the / response property for the response status

    • warning

      added the new unprocessable enum value to the / response property for the response status

    • warning

      added the new unprocessable enum value to the / response property for the response status

    • warning

      added the new unprocessable enum value to the / response property for the response status

    • warning

      added the new unprocessable enum value to the / response property for the response status

    • warning

      added the new unprocessable enum value to the / response property for the response status

    • warning

      added the new unprocessable enum value to the / response property for the response status

    • warning

      added the new unprocessable enum value to the / response property for the response status