 	/// The first 3 characters of this object's record IDs
 	// TODO: "keyPrefix" could be null, so this property should be optional
 	// and will be modified accordingly in the next major release.
-	// Updated in v. 3.4.1: if keyPrefix is null, return empty string.
+	// Updated in v.3.4.1: if keyPrefix is null, return empty string.
 	public var keyPrefix: String {
 		guard let keyPrefix = json["keyPrefix"] as? String else {
 			return ""
 		}
 		return keyPrefix
+	}
+	
+	/// The first 3 characters of the ID for all records of this type.
+	/// Synonym for keyPrefix
+	public var idPrefix: String? {
+		return json["keyPrefix"] as? String
 	}
 	
 	public var label: String {

	
	public let json: [String : Any]
	
	public var fields: [String: FieldDescription] {
		let jsons = json["fields"] as! [[String: Any]]
		let fields = jsons.asDictionary {
			(json) -> [String: FieldDescription] in
			let field = FieldDescription(json: json)

	public let maximum: Int
	public let remaining: Int
	
	public init(name: String, json: [String: Any]) throws {
		guard let remaining = json["Remaining"] as? Int, let maximum = json["Max"] as? Int else {
			throw SalesforceError.jsonDeserializationFailure(elementName: name, json: json)
		}
		self.name = name
