Dynamic responses¶
Not every successful response in the supplied OpenAPI document has a formal JSON schema. The SDK must not fabricate one.
The following operations therefore use DynamicResource for their object shape where needed:
- read organization;
- project member rows;
- project label rows;
- used project tag rows;
- project analytics;
- ticket comment create response;
- document comment create response;
- notification create response.
DynamicResource stores every field returned by the API.
var member = client.projects().listMembers(projectId).getFirst();
String id = member.string("id").orElseThrow();
Integer count = member.integer("ticket_count").orElse(null);
JsonNode exact = member.extra("roles");
This is intentional. When the upstream OpenAPI contract later defines a stable schema, that response can gain a dedicated typed model without making up fields in the current SDK.