Ok, I have been going a little overboard with tooling and have setup and ran into a limit.
The limit appears to be based on:
Total schema cost = document metadata + sum of all serialized path operations + shared component definitions + vendor-extension content retained during import
The error is “Error saving draft” and “Internal Server Error”. Unfortunately, it does not expose more details.

I couldn’t find this limit in the docs (I just found the 128 action limit and 30 action per endpoint).
Limits hit (I got this by combining all my action schema definitions into one file):
- 1,396,810 characters (≈ ±1,794 characters)
- 1.397 MB
I suspect it’s the total characters rather than the size but I’m not sure which it is so I listed both.
This was at 99 operation definitions (so still below the 128).
To test this I removed the individual response-code definitions and used basic response structure for success and default error state.
Since that change (purposely shrinking the schema by omitting response codes definitions) I was able to save my updated action schema and add 4 more actions, so that appears to validate that the limit is the aggregated schema definitions across the GPT.
The summary is: Custom GPT Actions appear constrained by the aggregate serialized size or parsed complexity of all OpenAI definitions attached to the GPT. Verbose request and response schemas consume this allowance cumulatively.