{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://ugp.dev/2026-06-25/schemas/giving/profile.json",
  "name": "dev.ugp.giving.profile",
  "title": "Giving Profile",
  "description": "Capability configuration object describing a nonprofit organization. Carried as the `config` of the `dev.ugp.giving.profile` capability in a nonprofit's UCP discovery profile. Provides the descriptive, branding, and tax metadata platforms need to present and attribute giving to the organization.",
  "type": "object",
  "required": [
    "name",
    "eins",
    "mission"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Display name of the nonprofit (e.g. \"Eastside Shelter\")."
    },
    "legal_name": {
      "type": "string",
      "description": "Registered legal name of the organization as it appears on tax filings."
    },
    "eins": {
      "type": "array",
      "description": "Employer Identification Numbers (EINs) associated with this organization. The first entry is the primary EIN. Each is formatted NN-NNNNNNN.",
      "minItems": 1,
      "items": {
        "type": "string",
        "pattern": "^\\d{2}-\\d{7}$",
        "description": "US IRS Employer Identification Number in NN-NNNNNNN format."
      }
    },
    "tax_deductible_status": {
      "type": "string",
      "description": "Tax treatment of gifts to this organization.",
      "enum": [
        "501c3",
        "501c4",
        "fiscally_sponsored",
        "non_us",
        "other",
        "none"
      ]
    },
    "mission": {
      "type": "string",
      "description": "Mission statement describing what the organization does and who it serves."
    },
    "ntee_code": {
      "type": "string",
      "description": "National Taxonomy of Exempt Entities (NTEE) classification code."
    },
    "category": {
      "type": "string",
      "description": "Human-readable cause category (e.g. \"Human Services\", \"Education\")."
    },
    "website": {
      "type": "string",
      "format": "uri",
      "description": "Public website of the organization."
    },
    "logo": {
      "$ref": "https://ugp.dev/2026-06-25/schemas/common/types/media.json",
      "description": "Organization logo for display in giving experiences."
    },
    "brand_colors": {
      "type": "object",
      "description": "Brand colors platforms may use when presenting the organization.",
      "properties": {
        "primary": {
          "type": "string",
          "pattern": "^#[0-9a-fA-F]{6}$",
          "description": "Primary brand color as a 6-digit hex code (e.g. \"#1a2b3c\")."
        },
        "secondary": {
          "type": "string",
          "pattern": "^#[0-9a-fA-F]{6}$",
          "description": "Secondary brand color as a 6-digit hex code."
        },
        "accent": {
          "type": "string",
          "pattern": "^#[0-9a-fA-F]{6}$",
          "description": "Accent brand color as a 6-digit hex code."
        }
      },
      "additionalProperties": false
    },
    "address": {
      "$ref": "https://ugp.dev/2026-06-25/schemas/common/types/postal_address.json",
      "description": "Primary mailing or registered address of the organization."
    },
    "contact": {
      "type": "object",
      "description": "Primary public contact details for the organization.",
      "properties": {
        "email": {
          "type": "string",
          "format": "email",
          "description": "Contact email address."
        },
        "phone_number": {
          "type": "string",
          "description": "Contact phone number."
        }
      },
      "additionalProperties": true
    },
    "social_links": {
      "type": "array",
      "description": "Links to social and external presences.",
      "items": {
        "$ref": "https://ugp.dev/2026-06-25/schemas/common/types/link.json"
      }
    },
    "designations": {
      "type": "array",
      "description": "Funds, programs, or campaigns a donor may direct a gift toward. Donation records reference these by `id`.",
      "items": {
        "type": "object",
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Stable identifier for the designation. Referenced by `donation.designation`."
          },
          "name": {
            "type": "string",
            "description": "Display name of the designation (e.g. \"General Fund\")."
          },
          "default": {
            "type": "boolean",
            "description": "Whether this designation is applied when a donor does not select one."
          }
        },
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true,
  "version": "2026-06-25"
}
