{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/radiant-earth/main/json-schema/radiant-earth-membership-schema.json", "title": "Membership", "x-generated": "2026-10-09", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/radiant-earth-source-cooperative-openapi.yml#/components/schemas/Membership", "type": "object", "properties": { "membership_id": { "type": "string", "format": "uuid" }, "account_id": { "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9](?:(?!--)[a-z0-9-])*[a-z0-9]$" }, "membership_account_id": { "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9](?:(?!--)[a-z0-9-])*[a-z0-9]$" }, "repository_id": { "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9](?:(?!--)[a-z0-9-])*[a-z0-9]$" }, "role": { "$ref": "#/$defs/MembershipRole" }, "state": { "$ref": "#/$defs/MembershipState" }, "state_changed": { "type": "string", "format": "date-time" } }, "required": [ "membership_id", "account_id", "membership_account_id", "role", "state", "state_changed" ], "$defs": { "MembershipRole": { "type": "string", "enum": [ "owners", "maintainers", "read_data", "write_data" ] }, "MembershipState": { "type": "string", "enum": [ "invited", "revoked", "member" ] } } }