Organization schema
Generated from the canonical schema
schemas/organization.schema.jsonbyscripts/generate-schema-docs.mjs— do not edit this page by hand.
An institution that can participate in or receive attribution on TfP: a university, company, laboratory, nonprofit, government agency, or consortium. An attribution entity, not an auth tenant. Creation is open to any User (decision 2026-08-31); institutional verification is deferred and impersonation is handled by moderation.
Schema version: 1.0.0 · $id: https://tokensforprogress.org/schemas/organization.schema.json
Fields
id
Type: string · Required: yes · Mutable: no · Pattern: ^org_[0-9a-z]{10,32}$
Stable opaque identifier. Contribution attribution references this id, never the slug or name.
Example: "org_01jf90aa1mit0"
slug
Type: string · Required: yes · Mutable: yes · Pattern: ^[a-z0-9]+(-[a-z0-9]+)*$
URL-safe short name, unique among Organizations. Mutable, but changing it breaks inbound links; prefer stability.
Example: "mit-media-lab"
name
Type: string · Required: yes · Mutable: yes
Human-readable display name of the institution.
Example: "Example Research Lab"
avatar_url
Type: string \| null · Required: no · Mutable: yes
Logo/avatar URL, or null for a generated default.
Example: "https://assets.tokensforprogress.org/orgs/org_01jf90aa1mit0.png"
description_md
Type: string \| null · Required: no · Mutable: yes
Optional Markdown description of the institution and its participation on TfP.
Example: "Research lab within MIT focused on ..."
link_url
Type: string \| null · Required: no · Mutable: yes
Optional canonical external website.
Example: "https://lab.example.org"
created_by_user_id
Type: string · Required: yes · Mutable: no · Pattern: ^usr_[0-9a-z]{10,32}$
The User who created this Organization record. Provenance only — confers no permanent special status.
Example: "usr_01jf8xw3tempo"
created_at
Type: string · Required: yes · Mutable: no
RFC 3339 UTC timestamp of creation.
Example: "2026-08-31T15:04:11Z"
updated_at
Type: string · Required: yes · Mutable: yes
RFC 3339 UTC timestamp of the most recent change to any mutable field.
Example: "2026-08-31T16:20:03Z"
JSON Schema source
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://tokensforprogress.org/schemas/organization.schema.json",
"title": "Organization",
"description": "An institution that can participate in or receive attribution on TfP: a university, company, laboratory, nonprofit, government agency, or consortium. An attribution entity, not an auth tenant. Creation is open to any User (decision 2026-08-31); institutional verification is deferred and impersonation is handled by moderation.",
"x-tfp-version": "1.0.0",
"type": "object",
"additionalProperties": false,
"required": [
"id",
"slug",
"name",
"created_by_user_id",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string",
"pattern": "^org_[0-9a-z]{10,32}$",
"x-mutable": false,
"description": "Stable opaque identifier. Contribution attribution references this id, never the slug or name.",
"examples": [
"org_01jf90aa1mit0"
]
},
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
"maxLength": 64,
"x-mutable": true,
"description": "URL-safe short name, unique among Organizations. Mutable, but changing it breaks inbound links; prefer stability.",
"examples": [
"mit-media-lab"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"x-mutable": true,
"description": "Human-readable display name of the institution.",
"examples": [
"Example Research Lab"
]
},
"avatar_url": {
"type": [
"string",
"null"
],
"format": "uri",
"x-mutable": true,
"description": "Logo/avatar URL, or null for a generated default.",
"examples": [
"https://assets.tokensforprogress.org/orgs/org_01jf90aa1mit0.png"
]
},
"description_md": {
"type": [
"string",
"null"
],
"x-mutable": true,
"description": "Optional Markdown description of the institution and its participation on TfP.",
"examples": [
"Research lab within MIT focused on ..."
]
},
"link_url": {
"type": [
"string",
"null"
],
"format": "uri",
"x-mutable": true,
"description": "Optional canonical external website.",
"examples": [
"https://lab.example.org"
]
},
"created_by_user_id": {
"type": "string",
"pattern": "^usr_[0-9a-z]{10,32}$",
"x-mutable": false,
"description": "The User who created this Organization record. Provenance only — confers no permanent special status.",
"examples": [
"usr_01jf8xw3tempo"
]
},
"created_at": {
"type": "string",
"format": "date-time",
"x-mutable": false,
"description": "RFC 3339 UTC timestamp of creation.",
"examples": [
"2026-08-31T15:04:11Z"
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"x-mutable": true,
"description": "RFC 3339 UTC timestamp of the most recent change to any mutable field.",
"examples": [
"2026-08-31T16:20:03Z"
]
}
}
}