{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.salesforce.com/schemas/experience-cloud/sobject-record.json",
  "title": "sObject Record",
  "description": "Represents a Salesforce sObject record with its attributes and field values. The specific fields available depend on the sObject type and field-level security.",
  "type": "object",
  "properties": {
    "attributes": {
      "type": "object",
      "description": "Record metadata including sObject type and API URL",
      "properties": {
        "type": {
          "type": "string",
          "description": "API name of the sObject type (e.g., Account, Contact, CustomObject__c)"
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "REST API URL for this record"
        }
      },
      "required": ["type", "url"]
    },
    "Id": {
      "type": "string",
      "description": "The 18-character case-safe record ID",
      "pattern": "^[a-zA-Z0-9]{18}$"
    },
    "Name": {
      "type": "string",
      "description": "Name field of the record (if the sObject has a Name field)"
    },
    "CreatedDate": {
      "type": "string",
      "format": "date-time",
      "description": "When the record was created"
    },
    "CreatedById": {
      "type": "string",
      "description": "ID of the user who created the record"
    },
    "LastModifiedDate": {
      "type": "string",
      "format": "date-time",
      "description": "When the record was last modified"
    },
    "LastModifiedById": {
      "type": "string",
      "description": "ID of the user who last modified the record"
    },
    "SystemModstamp": {
      "type": "string",
      "format": "date-time",
      "description": "System-maintained modification timestamp"
    },
    "IsDeleted": {
      "type": "boolean",
      "description": "Whether the record has been moved to the Recycle Bin",
      "default": false
    },
    "OwnerId": {
      "type": "string",
      "description": "ID of the record owner (user or queue)"
    },
    "RecordTypeId": {
      "type": "string",
      "description": "ID of the record type assigned to this record"
    }
  },
  "required": ["attributes", "Id"],
  "additionalProperties": true
}
