generated: '2026-10-11' method: derived generator: derive-data-model.py source: - openapi/datacircle-datacircle-api-openapi.yml - openapi/datacircle-fetchin-api-openapi.yml - openapi/datacircle-harvestapi-api-openapi.yml - openapi/datacircle-up2data-api-openapi.yml notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 12 entities_in_spec: 12 relationships: 9 entities: - name: Balance fields: 5 - name: DatacircleMeta fields: 3 description: Datacircle's only addition to the provider's answer - name: Error fields: 1 - name: FetchinError fields: 3 description: Fetchin's own error, passed on with its status, plus `datacircle_meta`. `PROFILE_NOT_FOUND` (`404`) is billed, as Fetchin bills it, every other code is free. - name: FetchinProfileResponse fields: 67 description: 'Fetchin''s answer: the profile object as Fetchin sends it, plus `datacircle_meta`.' - name: File fields: 8 - name: HarvestApiProfile fields: 52 description: A LinkedIn profile, as HarvestAPI answers it. - name: HarvestApiProfileResponse fields: 11 description: HarvestAPI's own answer to `GET /linkedin/profile`, minus `user` and `requestId` (our account with HarvestAPI), plus `datacircle_meta`. - name: Up2DataEnrichResponse fields: 3 description: Up2Data's own response to `POST /v1/profiles/enrich`, plus `datacircle_meta` - name: Up2DataError fields: 3 description: Up2Data's own error answer, plus `datacircle_meta` - name: Up2DataMeta fields: 3 description: Up2Data's billing metadata, minus `creditsRemaining`, `requestId` and `latencyMs` (our account with Up2Data, not yours) - name: Up2DataProfile fields: 29 description: Up2Data's profile record, every field as Up2Data documents it (docs.up2data.ai). `fields` in the request restricts it to the fields listed. relationships: - from: FetchinError to: DatacircleMeta type: has_one via: datacircle_meta - from: FetchinProfileResponse to: DatacircleMeta type: has_one via: datacircle_meta - from: HarvestApiProfileResponse to: HarvestApiProfile type: has_one via: element - from: HarvestApiProfileResponse to: DatacircleMeta type: has_one via: datacircle_meta - from: Up2DataEnrichResponse to: Up2DataProfile type: has_one via: data - from: Up2DataEnrichResponse to: Up2DataMeta type: has_one via: meta - from: Up2DataEnrichResponse to: DatacircleMeta type: has_one via: datacircle_meta - from: Up2DataError to: Up2DataMeta type: has_one via: meta - from: Up2DataError to: DatacircleMeta type: has_one via: datacircle_meta