Salesforce · Schema

Salesforce SObject Record

A Salesforce SObject record as returned by the REST API. Contains an attributes object with type and URL metadata, an Id field with the 18-character record identifier, and dynamic fields specific to the object type (e.g., Name, Email, Phone for Contact).

Fortune 500AIAnalyticsCloudCommerceCRMCustomer ServiceEnterpriseMarketingPlatformSales

Properties

Name Type Description
attributes object
Id string The globally unique 18-character Salesforce record identifier. The first three characters are the key prefix identifying the object type, followed by a unique alphanumeric string.
Name stringnull The primary display name field for the record. For most standard objects this is the Name field; for Person Accounts and Contacts it may be a combination of first and last name.
CreatedDate stringnull The date and time the record was created, in ISO 8601 format with UTC timezone (e.g., 2024-01-15T10:30:00.000+0000).
CreatedById stringnull The 18-character ID of the Salesforce user who created this record.
LastModifiedDate stringnull The date and time the record was last modified, in ISO 8601 format with UTC timezone.
LastModifiedById stringnull The 18-character ID of the Salesforce user who last modified this record.
SystemModstamp stringnull The date and time of the last system-level modification to the record. This is updated by any change to the record including system changes, unlike LastModifiedDate which reflects user changes only.
IsDeleted booleannull Whether the record has been moved to the Recycle Bin (soft deleted). Records where IsDeleted is true are not returned by standard SOQL queries but can be retrieved using queryAll.
OwnerId stringnull The 18-character ID of the user or queue that owns this record. Ownership controls access and assignment rules.
RecordTypeId stringnull The 18-character ID of the Record Type applied to this record. Record types allow different picklist values, page layouts, and business processes for the same object.
BillingAddress object The billing address for account records. A structured address object with street, city, state, postal code, country, and optional geolocation fields.
ShippingAddress object The shipping address for account records. A structured address object with street, city, state, postal code, country, and optional geolocation fields.
MailingAddress object The mailing address for contact records. A structured address object with street, city, state, postal code, country, and optional geolocation fields.
OtherAddress object An alternate address for contact records. A structured address object with street, city, state, postal code, country, and optional geolocation fields.
Phone object The primary phone number for the record. Stored as a string to preserve formatting; no specific format is enforced by Salesforce.
Fax object The fax number for the record. Stored as a string to preserve formatting.
MobilePhone object The mobile phone number for contact and lead records. Stored as a string to preserve formatting.
View JSON Schema on GitHub

JSON Schema

salesforce-sobject-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/salesforce/refs/heads/main/json-schema/salesforce-sobject-schema.json",
  "title": "Salesforce SObject Record",
  "description": "A Salesforce SObject record as returned by the REST API. Contains an attributes object with type and URL metadata, an Id field with the 18-character record identifier, and dynamic fields specific to the object type (e.g., Name, Email, Phone for Contact).",
  "type": "object",
  "required": [
    "attributes"
  ],
  "properties": {
    "attributes": {
      "$ref": "#/$defs/SObjectAttributes"
    },
    "Id": {
      "type": "string",
      "description": "The globally unique 18-character Salesforce record identifier. The first three characters are the key prefix identifying the object type, followed by a unique alphanumeric string.",
      "minLength": 15,
      "maxLength": 18,
      "pattern": "^[a-zA-Z0-9]{15,18}$"
    },
    "Name": {
      "type": [
        "string",
        "null"
      ],
      "description": "The primary display name field for the record. For most standard objects this is the Name field; for Person Accounts and Contacts it may be a combination of first and last name."
    },
    "CreatedDate": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "The date and time the record was created, in ISO 8601 format with UTC timezone (e.g., 2024-01-15T10:30:00.000+0000)."
    },
    "CreatedById": {
      "type": [
        "string",
        "null"
      ],
      "description": "The 18-character ID of the Salesforce user who created this record.",
      "minLength": 15,
      "maxLength": 18
    },
    "LastModifiedDate": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "The date and time the record was last modified, in ISO 8601 format with UTC timezone."
    },
    "LastModifiedById": {
      "type": [
        "string",
        "null"
      ],
      "description": "The 18-character ID of the Salesforce user who last modified this record.",
      "minLength": 15,
      "maxLength": 18
    },
    "SystemModstamp": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "The date and time of the last system-level modification to the record. This is updated by any change to the record including system changes, unlike LastModifiedDate which reflects user changes only."
    },
    "IsDeleted": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Whether the record has been moved to the Recycle Bin (soft deleted). Records where IsDeleted is true are not returned by standard SOQL queries but can be retrieved using queryAll."
    },
    "OwnerId": {
      "type": [
        "string",
        "null"
      ],
      "description": "The 18-character ID of the user or queue that owns this record. Ownership controls access and assignment rules.",
      "minLength": 15,
      "maxLength": 18
    },
    "RecordTypeId": {
      "type": [
        "string",
        "null"
      ],
      "description": "The 18-character ID of the Record Type applied to this record. Record types allow different picklist values, page layouts, and business processes for the same object.",
      "minLength": 15,
      "maxLength": 18
    },
    "BillingAddress": {
      "$ref": "#/$defs/Address",
      "description": "The billing address for account records. A structured address object with street, city, state, postal code, country, and optional geolocation fields."
    },
    "ShippingAddress": {
      "$ref": "#/$defs/Address",
      "description": "The shipping address for account records. A structured address object with street, city, state, postal code, country, and optional geolocation fields."
    },
    "MailingAddress": {
      "$ref": "#/$defs/Address",
      "description": "The mailing address for contact records. A structured address object with street, city, state, postal code, country, and optional geolocation fields."
    },
    "OtherAddress": {
      "$ref": "#/$defs/Address",
      "description": "An alternate address for contact records. A structured address object with street, city, state, postal code, country, and optional geolocation fields."
    },
    "Phone": {
      "$ref": "#/$defs/Phone",
      "description": "The primary phone number for the record. Stored as a string to preserve formatting; no specific format is enforced by Salesforce."
    },
    "Fax": {
      "$ref": "#/$defs/Phone",
      "description": "The fax number for the record. Stored as a string to preserve formatting."
    },
    "MobilePhone": {
      "$ref": "#/$defs/Phone",
      "description": "The mobile phone number for contact and lead records. Stored as a string to preserve formatting."
    }
  },
  "additionalProperties": true,
  "$defs": {
    "SObjectAttributes": {
      "type": "object",
      "title": "SObject Attributes",
      "description": "Metadata attributes included with every Salesforce SObject record, identifying the object type and the REST API URL for the record.",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "The API name of the Salesforce SObject type (e.g., Account, Contact, Opportunity, MyCustomObject__c). This identifies what kind of record this is."
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "The relative REST API URL for this specific record (e.g., /services/data/v63.0/sobjects/Account/001Dn00000pFakE001). Use this URL to retrieve or update the record via the REST API."
        }
      },
      "additionalProperties": false
    },
    "RecordType": {
      "type": "object",
      "title": "Record Type",
      "description": "A Salesforce Record Type, which allows different picklist values, page layouts, and business processes to be configured for the same object type.",
      "properties": {
        "id": {
          "type": "string",
          "description": "The 18-character ID of the Record Type.",
          "minLength": 15,
          "maxLength": 18
        },
        "name": {
          "type": "string",
          "description": "The display name of the Record Type (e.g., Business Account, Person Account)."
        },
        "active": {
          "type": "boolean",
          "description": "Whether this Record Type is currently active. Inactive record types cannot be assigned to new records."
        }
      },
      "additionalProperties": false
    },
    "Address": {
      "type": [
        "object",
        "null"
      ],
      "title": "Address",
      "description": "A structured Salesforce compound address field containing street, city, state, postal code, country, and optional geolocation components.",
      "properties": {
        "street": {
          "type": [
            "string",
            "null"
          ],
          "description": "The street address, including house number, street name, and apartment or suite number. May contain newline characters for multi-line addresses."
        },
        "city": {
          "type": [
            "string",
            "null"
          ],
          "description": "The city component of the address."
        },
        "state": {
          "type": [
            "string",
            "null"
          ],
          "description": "The state or province component of the address (e.g., CA, New York, Ontario)."
        },
        "postalCode": {
          "type": [
            "string",
            "null"
          ],
          "description": "The postal or ZIP code component of the address."
        },
        "country": {
          "type": [
            "string",
            "null"
          ],
          "description": "The country component of the address. May be a full country name or ISO 3166-1 alpha-2 country code depending on org configuration."
        },
        "stateCode": {
          "type": [
            "string",
            "null"
          ],
          "description": "The ISO 3166-2 state/province code if state/country picklists are enabled in the org."
        },
        "countryCode": {
          "type": [
            "string",
            "null"
          ],
          "description": "The ISO 3166-1 alpha-2 country code if state/country picklists are enabled in the org (e.g., US, GB, DE)."
        },
        "latitude": {
          "type": [
            "number",
            "null"
          ],
          "description": "The latitude component of the geolocation for this address, in decimal degrees. Populated automatically by Salesforce geocoding when enabled.",
          "minimum": -90,
          "maximum": 90
        },
        "longitude": {
          "type": [
            "number",
            "null"
          ],
          "description": "The longitude component of the geolocation for this address, in decimal degrees. Populated automatically by Salesforce geocoding when enabled.",
          "minimum": -180,
          "maximum": 180
        },
        "geocodeAccuracy": {
          "type": [
            "string",
            "null"
          ],
          "description": "The accuracy level of the geocoded coordinates (e.g., Address, NearAddress, Block, Street, ExtendedZip, Zip, Neighborhood, City, County, State, Unknown)."
        }
      },
      "additionalProperties": false
    },
    "Phone": {
      "type": [
        "string",
        "null"
      ],
      "title": "Phone Number",
      "description": "A telephone number stored as a string. Salesforce does not enforce a specific format; common formats include +1 (555) 123-4567, 555-123-4567, or +15551234567."
    }
  }
}