Name what you exchange
A contract describes resources, fields and rules. Date formats, identifiers and the meaning of missing values must be consistent for client applications.
Plan for what goes wrong
An error must be identifiable without revealing sensitive information. Repeated calls, timeouts and retries need explicit behaviour.
Prepare for change
Breaking changes must be isolated or managed. Documentation and contract tests reduce surprises when several teams use the same service.