---
schema_version: "1"
id: ee304382e294757912ea96853af54886f1983801d0fef36942eb411bf88758d6
title: Schema Definitions
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/external_services_schema_def_definition.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.external_services_schema_def_definition.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: d70ee54da8edc07a1b67b1a0b4857011efa65efa20e3496ac8e8446f2afd6ac8
description: Learn the basics about External Service's schema support, schema components that are ignored, and supported data types.
products:
  - Salesforce Platform
  - Security
release: "264"
---
# Schema Definitions

Learn the basics about External Service's schema support, schema components that are ignored, and supported data types.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Performance</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions</td></tr></tbody></table>

When you create your API spec, keep the following in mind.

- You can use the `GET`, `PATCH`, `PUT`, `POST`, and `DELETE` methods in a schema. A `GET` method with an empty request body results in a validation error.
- A property must include a value.
- Each parameter must have a name.
- Request headers are supported.
- Response headers aren’t supported.
- Form parameters are supported.
- Security settings defined in the API spec are ignored and defer to security settings in the Named Credential.

The following OpenAPI schema components are ignored:

- Security requirement objects and security definitions
- Tag objects
- External documentation objects
- For `allOf`, `oneOf`, and `anyOf`, the schema object property `discriminator` is supported. The `discriminator/mapping` in OpenApi 3.0 is ignored. The `discriminator` property determines the schema referenced by its type name. For more information, see the Swagger OpenAPI 3.0 specification [Inheritance and Polymorphism](https://swagger.io/docs/specification/data-models/inheritance-and-polymorphism/).

Supported data types:

- binary
- boolean
- date
- datetime
- double
- enum
- float
- integer
- long
- string
- any type (use the empty schema element of `schema: {}`)
- object: top level named and nested anonymous objects
- anonymous and top-level named lists (can nest both named and anonymous arrays)
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-extend_click-264-0-0-production-enus/5f7d9219-b7b1-4552-8891-f1aba9b289fc/images/icon_note.png)
    
    Note Nested anonymous arrays generate a `List<List<T>>` Apex type, which isn't supported as a field on an Apex-defined variable in Flow. For more information, see [Flow Considerations for Apex Data Types](https://help.salesforce.com/s/articleView?id=platform.flow_considerations_apex_data_type.htm&type=5&language=en_US).
- additionalProperties as maps
- allOf as an object composition
- OpenAPI 3.0 only:
    - anyOf (any of primitive, list, or object schema types; only object schemas can constitute composition types)
    - oneOf (one of primitive, list, or object schema types)

#### See Also

- [Schema Examples](https://help.salesforce.com/s/articleView?id=platform.external_services_examples.htm&release=264.0.0&type=5 "Explore various scenarios with OpenAPI 2.0 and OpenAPI 3.0 compliant JSON or YAML schemas supported by External Services. The examples cover schema elements like HTTP header as input parameters, and include example usage in Apex. Understanding the examples helps with proper syntax and code placement.")