---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/openapi/structure-of-twilio-openapi-spec#article
headline: The structure of Twilio's OpenAPI Spec
description: Understand how Twilio's OpenAPI specification is split into multiple spec files, one per Twilio API subdomain, and how to identify each file's subdomain.
url: https://www.twilio.com/docs/openapi/structure-of-twilio-openapi-spec
inLanguage: en
dateModified: 2026-07-07T18:29:33.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# The structure of Twilio's OpenAPI Spec

Upon visiting either the [JSON](https://github.com/twilio/twilio-oai/tree/main/spec/json) or [YAML](https://github.com/twilio/twilio-oai/tree/main/spec/yaml) folders of `twilio-oai/spec`, you'll notice a long list of files instead of a single specification. This is because Twilio's API spans multiple subdomains, such as `api.twilio.com`, `accounts.twilio.com`, `flex-api.twilio.com`, and many others.

Each file corresponds to one of these subdomains, which can be determined by looking at the `servers` property of any of the described endpoint paths in a given file.

For example, in `twilio_accounts_v1.json`, you'll find the following top-level property:

```json
  "servers": [
    {
      "url": "https://accounts.twilio.com"
    }
  ],
```

This indicates that the file corresponds to the `accounts.twilio.com` subdomain. This same process can be applied to all spec files.
