Response compatibility
Handle added response fields, enum values, and object variants without breaking your integration.
Typeship can add response fields without changing the API version. Accept unknown fields in objects, nested objects, and list envelopes. Continue validating the types and required fields your integration uses.
Request schemas stay strict. Send only the fields documented for that operation. A response object can contain fields that its corresponding write operation does not accept.
New values and variants
Response enums and discriminated unions can include values your client does not recognize. Keep an explicit fallback for unknown values. Preserve the response for inspection, and update your integration before acting on an unfamiliar workflow state. An unknown state does not imply success, failure, or permission to retry.
For a discriminated union, read its discriminator before interpreting variant-specific fields. Known variants still require their documented fields. An unknown discriminator identifies data your client does not yet understand.
Generated clients
The Typeship CLI, MCP server, and TypeScript, Python, and Go SDKs accept added response fields, including when runtime validation is enabled. Validation continues to reject malformed known fields and missing required fields.
TypeScript and Python preserve unknown fields in the returned object. Go decodes known fields into structs; use WithAPIResponse to retain the complete response body. Go union values also expose Raw() and, when the schema declares one, Discriminator().
Accepting an unfamiliar field or value keeps a response readable. It does not make every new workflow behavior compatible with your application. Validate the states and actions your integration supports explicitly.