# Request and response formats

Use the request method, path, headers, and JSON fields documented by the target endpoint. Product API and Genesis interfaces do not share a universal envelope, pagination shape, or error object.

For Product API, preserve the returned `code`, `msg`, and `data` envelope when present, and save object or run IDs from the actual response. For Genesis interfaces, read the protocol-specific response shape: Chat Completions uses `choices[]`, Responses uses `output[]`, Embeddings uses `data[]`, and Rerank uses `results[]`.

Do not infer optional fields, defaults, or limits from another endpoint. A successful create or run response can acknowledge a request before its asynchronous work is complete.
