{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://apis.json/schemas/microsoft-power-apps-entity-schema.json", "title": "Microsoft Power Apps Dataverse Entity Schema", "description": "JSON Schema defining the core entity types used in Microsoft Power Apps and Dataverse (formerly Common Data Service). These schemas correspond to the Microsoft.Dynamics.CRM namespace entity types accessible through the Dataverse Web API v9.2. Based on documentation at https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/reference/about", "type": "object", "$defs": { "Account": { "$id": "#Account", "title": "Account", "description": "Business that represents a customer or potential customer. The company that is billed in business transactions. Entity set path: /api/data/v9.2/accounts. Namespace: Microsoft.Dynamics.CRM.", "type": "object", "properties": { "accountid": { "type": "string", "format": "uuid", "description": "Unique identifier of the account. Primary key.", "readOnly": true }, "name": { "type": "string", "maxLength": 160, "description": "Company or business name. Primary name column for the account entity." }, "accountnumber": { "type": "string", "maxLength": 20, "description": "ID number or code for the account to quickly search and identify the account in system views." }, "accountcategorycode": { "type": "integer", "description": "Category indicating whether the customer account is standard or preferred.", "enum": [1, 2], "x-enum-labels": { "1": "Preferred Customer", "2": "Standard" } }, "accountclassificationcode": { "type": "integer", "description": "Classification code indicating the potential value of the customer account based on projected ROI, cooperation level, or sales cycle length." }, "accountratingcode": { "type": "integer", "description": "Rating indicating the value of the customer account." }, "description": { "type": "string", "maxLength": 2000, "description": "Additional information to describe the account, such as an excerpt from the company website." }, "emailaddress1": { "type": "string", "format": "email", "maxLength": 100, "description": "Primary email address for the account." }, "emailaddress2": { "type": "string", "format": "email", "maxLength": 100, "description": "Secondary email address for the account." }, "emailaddress3": { "type": "string", "format": "email", "maxLength": 100, "description": "Alternate email address for the account." }, "telephone1": { "type": "string", "maxLength": 50, "description": "Main phone number for this account." }, "telephone2": { "type": "string", "maxLength": 50, "description": "Second phone number for this account." }, "telephone3": { "type": "string", "maxLength": 50, "description": "Third phone number for this account." }, "fax": { "type": "string", "maxLength": 50, "description": "Fax number for the account." }, "websiteurl": { "type": "string", "format": "uri", "maxLength": 200, "description": "Website URL for the account." }, "industrycode": { "type": "integer", "description": "Primary industry of the account for marketing segmentation and demographic analysis.", "enum": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33], "x-enum-labels": { "1": "Accounting", "2": "Agriculture and Non-petrol Natural Resource Extraction", "3": "Broadcasting Printing and Publishing", "4": "Brokers", "5": "Building Supply Retail", "6": "Business Services", "7": "Consulting", "8": "Consumer Services", "9": "Design, Direction and Creative Management", "10": "Distributors, Dispatchers and Processors", "11": "Doctor's Offices and Clinics", "12": "Durable Manufacturing", "13": "Eating and Drinking Places", "14": "Entertainment Retail", "15": "Equipment Rental and Leasing", "16": "Financial", "17": "Food and Tobacco Processing", "18": "Inbound Capital Intensive Processing", "19": "Inbound Repair and Services", "20": "Insurance", "21": "Legal Services", "22": "Non-Durable Merchandise Retail", "23": "Outbound Consumer Service", "24": "Petrochemical Extraction and Distribution", "25": "Service Retail", "26": "SIG Affiliations", "27": "Social Services", "28": "Special Outbound Trade Contractors", "29": "Specialty Realty", "30": "Transportation", "31": "Utility Creation and Distribution", "32": "Vehicle Retail", "33": "Wholesale" } }, "numberofemployees": { "type": "integer", "description": "Number of employees that work at the account." }, "revenue": { "type": "number", "description": "Annual revenue for the account, used as an indicator in financial performance analysis." }, "revenue_base": { "type": "number", "readOnly": true, "description": "Annual revenue converted to the system default base currency." }, "ownershipcode": { "type": "integer", "description": "Ownership structure of the account.", "enum": [1, 2, 3, 4], "x-enum-labels": { "1": "Public", "2": "Private", "3": "Subsidiary", "4": "Other" } }, "customertypecode": { "type": "integer", "description": "Category describing the relationship between the account and the organization.", "enum": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "x-enum-labels": { "1": "Competitor", "2": "Consultant", "3": "Customer", "4": "Investor", "5": "Partner", "6": "Influencer", "7": "Press", "8": "Prospect", "9": "Reseller", "10": "Supplier", "11": "Vendor", "12": "Other" } }, "businesstypecode": { "type": "integer", "description": "Legal designation or other business type of the account for contracts or reporting purposes." }, "sic": { "type": "string", "maxLength": 20, "description": "Standard Industrial Classification (SIC) code for the account's primary industry." }, "tickersymbol": { "type": "string", "maxLength": 10, "description": "Stock exchange symbol for the account." }, "stockexchange": { "type": "string", "maxLength": 20, "description": "Stock exchange where the account is listed." }, "sharesoutstanding": { "type": "integer", "description": "Number of shares available to the public for the account." }, "marketcap": { "type": "number", "description": "Market capitalization of the account." }, "creditlimit": { "type": "number", "description": "Credit limit of the account." }, "creditonhold": { "type": "boolean", "description": "Whether the credit for the account is on hold." }, "paymenttermscode": { "type": "integer", "description": "Payment terms indicating when the customer needs to pay the total amount.", "enum": [1, 2, 3, 4], "x-enum-labels": { "1": "Net 30", "2": "2% 10, Net 30", "3": "Net 45", "4": "Net 60" } }, "preferredcontactmethodcode": { "type": "integer", "description": "Preferred method of contact.", "enum": [1, 2, 3, 4, 5], "x-enum-labels": { "1": "Any", "2": "Email", "3": "Phone", "4": "Fax", "5": "Mail" } }, "donotemail": { "type": "boolean", "description": "Whether the account allows direct email sent from Microsoft Dynamics 365." }, "donotphone": { "type": "boolean", "description": "Whether the account allows phone calls." }, "donotfax": { "type": "boolean", "description": "Whether the account allows faxes." }, "donotpostalmail": { "type": "boolean", "description": "Whether the account allows direct mail." }, "donotbulkemail": { "type": "boolean", "description": "Whether the account allows bulk email sent through campaigns." }, "donotsendmm": { "type": "boolean", "description": "Whether the account accepts marketing materials such as brochures or catalogs." }, "address1_name": { "type": "string", "maxLength": 200, "description": "Descriptive name for the primary address, such as Corporate Headquarters." }, "address1_line1": { "type": "string", "maxLength": 250, "description": "First line of the primary address." }, "address1_line2": { "type": "string", "maxLength": 250, "description": "Second line of the primary address." }, "address1_line3": { "type": "string", "maxLength": 250, "description": "Third line of the primary address." }, "address1_city": { "type": "string", "maxLength": 80, "description": "City for the primary address." }, "address1_stateorprovince": { "type": "string", "maxLength": 50, "description": "State or province for the primary address." }, "address1_postalcode": { "type": "string", "maxLength": 20, "description": "ZIP code or postal code for the primary address." }, "address1_country": { "type": "string", "maxLength": 80, "description": "Country or region for the primary address." }, "address1_county": { "type": "string", "maxLength": 50, "description": "County for the primary address." }, "address1_telephone1": { "type": "string", "maxLength": 50, "description": "Main phone number associated with the primary address." }, "address1_fax": { "type": "string", "maxLength": 50, "description": "Fax number associated with the primary address." }, "address1_latitude": { "type": "number", "description": "Latitude value for the primary address." }, "address1_longitude": { "type": "number", "description": "Longitude value for the primary address." }, "address1_addresstypecode": { "type": "integer", "description": "Primary address type.", "enum": [1, 2, 3, 4], "x-enum-labels": { "1": "Bill To", "2": "Ship To", "3": "Primary", "4": "Other" } }, "address2_name": { "type": "string", "maxLength": 200, "description": "Descriptive name for the secondary address." }, "address2_line1": { "type": "string", "maxLength": 250, "description": "First line of the secondary address." }, "address2_line2": { "type": "string", "maxLength": 250, "description": "Second line of the secondary address." }, "address2_line3": { "type": "string", "maxLength": 250, "description": "Third line of the secondary address." }, "address2_city": { "type": "string", "maxLength": 80, "description": "City for the secondary address." }, "address2_stateorprovince": { "type": "string", "maxLength": 50, "description": "State or province for the secondary address." }, "address2_postalcode": { "type": "string", "maxLength": 20, "description": "ZIP code or postal code for the secondary address." }, "address2_country": { "type": "string", "maxLength": 80, "description": "Country or region for the secondary address." }, "statecode": { "type": "integer", "readOnly": true, "description": "Status of the account. Inactive accounts are read-only and cannot be edited unless reactivated.", "enum": [0, 1], "x-enum-labels": { "0": "Active", "1": "Inactive" } }, "statuscode": { "type": "integer", "description": "Status reason for the account.", "enum": [1, 2], "x-enum-labels": { "1": "Active", "2": "Inactive" } }, "createdon": { "type": "string", "format": "date-time", "readOnly": true, "description": "Date and time when the record was created." }, "modifiedon": { "type": "string", "format": "date-time", "readOnly": true, "description": "Date and time when the record was last updated." }, "versionnumber": { "type": "integer", "readOnly": true, "description": "Version number of the account record." }, "_primarycontactid_value": { "type": "string", "format": "uuid", "readOnly": true, "description": "Lookup property referencing the primary contact for this account." }, "_parentaccountid_value": { "type": "string", "format": "uuid", "readOnly": true, "description": "Lookup property referencing the parent account." }, "_ownerid_value": { "type": "string", "format": "uuid", "readOnly": true, "description": "Lookup property referencing the user or team assigned to manage the record." }, "_transactioncurrencyid_value": { "type": "string", "format": "uuid", "readOnly": true, "description": "Lookup property referencing the currency of the record." } }, "x-ms-dynamics-entity": { "entitySetName": "accounts", "primaryKey": "accountid", "primaryNameColumn": "name", "namespace": "Microsoft.Dynamics.CRM", "baseType": "crmbaseentity", "operationsSupported": ["POST", "GET", "PATCH", "DELETE"] } }, "Contact": { "$id": "#Contact", "title": "Contact", "description": "Person with whom a business unit has a relationship, such as customer, supplier, and colleague. Entity set path: /api/data/v9.2/contacts. Namespace: Microsoft.Dynamics.CRM.", "type": "object", "properties": { "contactid": { "type": "string", "format": "uuid", "readOnly": true, "description": "Unique identifier of the contact. Primary key." }, "firstname": { "type": "string", "maxLength": 50, "description": "First name of the contact." }, "lastname": { "type": "string", "maxLength": 50, "description": "Last name of the contact." }, "fullname": { "type": "string", "maxLength": 160, "readOnly": true, "description": "Full name of the contact combining first name, middle name, and last name." }, "middlename": { "type": "string", "maxLength": 50, "description": "Middle name or initial of the contact." }, "nickname": { "type": "string", "maxLength": 100, "description": "Nickname of the contact." }, "salutation": { "type": "string", "maxLength": 100, "description": "Salutation for correspondence with the contact." }, "suffix": { "type": "string", "maxLength": 10, "description": "Suffix used in the contact's name, such as Jr. or Sr." }, "jobtitle": { "type": "string", "maxLength": 100, "description": "Job title of the contact." }, "department": { "type": "string", "maxLength": 100, "description": "Department or business unit where the contact works." }, "emailaddress1": { "type": "string", "format": "email", "maxLength": 100, "description": "Primary email address for the contact." }, "emailaddress2": { "type": "string", "format": "email", "maxLength": 100, "description": "Secondary email address for the contact." }, "emailaddress3": { "type": "string", "format": "email", "maxLength": 100, "description": "Alternate email address for the contact." }, "telephone1": { "type": "string", "maxLength": 50, "description": "Main phone number for the contact." }, "telephone2": { "type": "string", "maxLength": 50, "description": "Second phone number for the contact." }, "telephone3": { "type": "string", "maxLength": 50, "description": "Third phone number for the contact." }, "mobilephone": { "type": "string", "maxLength": 50, "description": "Mobile phone number for the contact." }, "fax": { "type": "string", "maxLength": 50, "description": "Fax number for the contact." }, "websiteurl": { "type": "string", "format": "uri", "maxLength": 200, "description": "Website URL for the contact." }, "description": { "type": "string", "maxLength": 2000, "description": "Additional information to describe the contact." }, "gendercode": { "type": "integer", "description": "Gender of the contact.", "enum": [1, 2], "x-enum-labels": { "1": "Male", "2": "Female" } }, "familystatuscode": { "type": "integer", "description": "Marital status of the contact.", "enum": [1, 2, 3, 4], "x-enum-labels": { "1": "Single", "2": "Married", "3": "Divorced", "4": "Widowed" } }, "birthdate": { "type": "string", "format": "date", "description": "Birthday of the contact." }, "anniversary": { "type": "string", "format": "date", "description": "Anniversary date of the contact." }, "spousesname": { "type": "string", "maxLength": 100, "description": "Name of the contact's spouse or partner." }, "numberofchildren": { "type": "integer", "description": "Number of children the contact has." }, "address1_name": { "type": "string", "maxLength": 200, "description": "Descriptive name for the primary address." }, "address1_line1": { "type": "string", "maxLength": 250, "description": "First line of the primary address." }, "address1_line2": { "type": "string", "maxLength": 250, "description": "Second line of the primary address." }, "address1_line3": { "type": "string", "maxLength": 250, "description": "Third line of the primary address." }, "address1_city": { "type": "string", "maxLength": 80, "description": "City for the primary address." }, "address1_stateorprovince": { "type": "string", "maxLength": 50, "description": "State or province for the primary address." }, "address1_postalcode": { "type": "string", "maxLength": 20, "description": "ZIP code or postal code for the primary address." }, "address1_country": { "type": "string", "maxLength": 80, "description": "Country or region for the primary address." }, "address1_county": { "type": "string", "maxLength": 50, "description": "County for the primary address." }, "address1_telephone1": { "type": "string", "maxLength": 50, "description": "Main phone number associated with the primary address." }, "address1_fax": { "type": "string", "maxLength": 50, "description": "Fax number associated with the primary address." }, "address1_latitude": { "type": "number", "description": "Latitude value for the primary address." }, "address1_longitude": { "type": "number", "description": "Longitude value for the primary address." }, "address2_name": { "type": "string", "maxLength": 200, "description": "Descriptive name for the secondary address." }, "address2_line1": { "type": "string", "maxLength": 250, "description": "First line of the secondary address." }, "address2_line2": { "type": "string", "maxLength": 250, "description": "Second line of the secondary address." }, "address2_line3": { "type": "string", "maxLength": 250, "description": "Third line of the secondary address." }, "address2_city": { "type": "string", "maxLength": 80, "description": "City for the secondary address." }, "address2_stateorprovince": { "type": "string", "maxLength": 50, "description": "State or province for the secondary address." }, "address2_postalcode": { "type": "string", "maxLength": 20, "description": "ZIP code or postal code for the secondary address." }, "address2_country": { "type": "string", "maxLength": 80, "description": "Country or region for the secondary address." }, "preferredcontactmethodcode": { "type": "integer", "description": "Preferred method of contact.", "enum": [1, 2, 3, 4, 5], "x-enum-labels": { "1": "Any", "2": "Email", "3": "Phone", "4": "Fax", "5": "Mail" } }, "donotemail": { "type": "boolean", "description": "Whether the contact allows direct email." }, "donotphone": { "type": "boolean", "description": "Whether the contact allows phone calls." }, "donotfax": { "type": "boolean", "description": "Whether the contact allows faxes." }, "donotpostalmail": { "type": "boolean", "description": "Whether the contact allows direct mail." }, "donotbulkemail": { "type": "boolean", "description": "Whether the contact allows bulk email sent through campaigns." }, "donotsendmm": { "type": "boolean", "description": "Whether the contact accepts marketing materials." }, "creditlimit": { "type": "number", "description": "Credit limit of the contact." }, "creditonhold": { "type": "boolean", "description": "Whether the credit for the contact is on hold." }, "statecode": { "type": "integer", "readOnly": true, "description": "Status of the contact. Inactive contacts are read-only.", "enum": [0, 1], "x-enum-labels": { "0": "Active", "1": "Inactive" } }, "statuscode": { "type": "integer", "description": "Status reason for the contact.", "enum": [1, 2], "x-enum-labels": { "1": "Active", "2": "Inactive" } }, "createdon": { "type": "string", "format": "date-time", "readOnly": true, "description": "Date and time when the record was created." }, "modifiedon": { "type": "string", "format": "date-time", "readOnly": true, "description": "Date and time when the record was last updated." }, "versionnumber": { "type": "integer", "readOnly": true, "description": "Version number of the contact record." }, "_parentcustomerid_value": { "type": "string", "format": "uuid", "readOnly": true, "description": "Lookup property referencing the parent customer (account or contact)." }, "_ownerid_value": { "type": "string", "format": "uuid", "readOnly": true, "description": "Lookup property referencing the user or team assigned to manage the record." }, "_transactioncurrencyid_value": { "type": "string", "format": "uuid", "readOnly": true, "description": "Lookup property referencing the currency of the record." } }, "x-ms-dynamics-entity": { "entitySetName": "contacts", "primaryKey": "contactid", "primaryNameColumn": "fullname", "namespace": "Microsoft.Dynamics.CRM", "baseType": "crmbaseentity", "operationsSupported": ["POST", "GET", "PATCH", "DELETE"] } }, "Entity": { "$id": "#Entity", "title": "Entity (Table Definition)", "description": "Metadata definition for a Dataverse table (entity). Provides information about the table structure including logical names, collection names, and configuration. Entity set path: /api/data/v9.2/entities. Namespace: Microsoft.Dynamics.CRM. Read-only, supports only RetrieveMultiple (GET).", "type": "object", "properties": { "entityid": { "type": "string", "format": "uuid", "readOnly": true, "description": "Unique identifier of the entity definition. Primary key." }, "name": { "type": "string", "description": "Display name of the entity. Primary name column." }, "logicalname": { "type": "string", "description": "Logical name of the entity used in API requests and programmatic references." }, "logicalcollectionname": { "type": "string", "description": "Logical collection name of the entity." }, "collectionname": { "type": "string", "description": "Collection name of the entity." }, "entitysetname": { "type": "string", "description": "Entity set name used in Web API URLs to reference this table." }, "physicalname": { "type": "string", "description": "Physical database table name of the entity." }, "basetablename": { "type": "string", "description": "Base table name of the entity." }, "externalname": { "type": "string", "description": "External name of the entity for virtual entities." }, "externalcollectionname": { "type": "string", "description": "External collection name of the entity." }, "addresstablename": { "type": "string", "description": "Address table name associated with the entity." }, "extensiontablename": { "type": "string", "description": "Extension table name of the entity." }, "reportviewname": { "type": "string", "description": "Report view name of the entity." }, "parentcontrollingattributename": { "type": "string", "description": "Parent controlling attribute name of the entity." }, "originallocalizedname": { "type": "string", "description": "Original localized display name of the entity." }, "originallocalizedcollectionname": { "type": "string", "description": "Original localized collection name of the entity." }, "isactivity": { "type": "boolean", "readOnly": true, "description": "Whether this entity is an activity type." }, "objecttypecode": { "type": "integer", "readOnly": true, "description": "Object type code of the entity." }, "componentstate": { "type": "integer", "readOnly": true, "description": "Component state of the entity definition.", "enum": [0, 1, 2, 3], "x-enum-labels": { "0": "Published", "1": "Unpublished", "2": "Deleted", "3": "Deleted Unpublished" } }, "solutionid": { "type": "string", "format": "uuid", "readOnly": true, "description": "Unique identifier of the associated solution." }, "overwritetime": { "type": "string", "format": "date-time", "readOnly": true, "description": "Record overwrite time for internal use." }, "versionnumber": { "type": "integer", "readOnly": true, "description": "Version number of the entity definition record." } }, "x-ms-dynamics-entity": { "entitySetName": "entities", "primaryKey": "entityid", "primaryNameColumn": "name", "namespace": "Microsoft.Dynamics.CRM", "baseType": "crmbaseentity", "operationsSupported": ["GET"] } }, "Address": { "$id": "#Address", "title": "Address", "description": "Reusable address structure used across Dataverse entity types including Account and Contact. Represents a physical or mailing address with geographic coordinates.", "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "Descriptive name for the address, such as Corporate Headquarters." }, "line1": { "type": "string", "maxLength": 250, "description": "First line of the address (street address)." }, "line2": { "type": "string", "maxLength": 250, "description": "Second line of the address." }, "line3": { "type": "string", "maxLength": 250, "description": "Third line of the address." }, "city": { "type": "string", "maxLength": 80, "description": "City for the address." }, "stateorprovince": { "type": "string", "maxLength": 50, "description": "State or province for the address." }, "postalcode": { "type": "string", "maxLength": 20, "description": "ZIP code or postal code for the address." }, "country": { "type": "string", "maxLength": 80, "description": "Country or region for the address." }, "county": { "type": "string", "maxLength": 50, "description": "County for the address." }, "telephone1": { "type": "string", "maxLength": 50, "description": "Main phone number associated with the address." }, "fax": { "type": "string", "maxLength": 50, "description": "Fax number associated with the address." }, "latitude": { "type": "number", "description": "Latitude value for mapping and location-based applications.", "minimum": -90, "maximum": 90 }, "longitude": { "type": "number", "description": "Longitude value for mapping and location-based applications.", "minimum": -180, "maximum": 180 }, "addresstypecode": { "type": "integer", "description": "Type of address.", "enum": [1, 2, 3, 4], "x-enum-labels": { "1": "Bill To", "2": "Ship To", "3": "Primary", "4": "Other" } } } }, "ODataCollectionResponse": { "$id": "#ODataCollectionResponse", "title": "OData Collection Response", "description": "Standard OData v4.0 collection response envelope used by the Dataverse Web API for all entity set queries.", "type": "object", "properties": { "@odata.context": { "type": "string", "format": "uri", "description": "OData context URL describing the payload structure." }, "@odata.count": { "type": "integer", "description": "Total count of matching records when $count=true is specified." }, "@odata.nextLink": { "type": "string", "format": "uri", "description": "URL to retrieve the next page of results for server-side pagination." }, "value": { "type": "array", "description": "Array of entity records matching the query.", "items": { "type": "object" } } }, "required": ["value"] }, "ODataError": { "$id": "#ODataError", "title": "OData Error Response", "description": "Standard OData v4.0 error response returned by the Dataverse Web API when an operation fails.", "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "type": "string", "description": "Machine-readable error code identifying the error condition." }, "message": { "type": "string", "description": "Human-readable error message describing what went wrong." }, "innererror": { "type": "object", "description": "Additional error details for debugging purposes.", "properties": { "message": { "type": "string", "description": "Detailed inner error message." }, "type": { "type": "string", "description": "Error type identifier." }, "stacktrace": { "type": "string", "description": "Server-side stack trace." } } } }, "required": ["code", "message"] } }, "required": ["error"] } } }