generated: '2026-09-26' method: derived generator: derive-data-model.py source: - openapi/arta-openapi.json notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 72 entities_in_spec: 72 relationships: 38 entities: - name: APIKey fields: 5 - name: AddressVerification fields: 9 - name: AddressVerificationCreate fields: 1 - name: ApiKeyCreate fields: 1 - name: ArtaShipmentPayload fields: 1 description: Create a standard Arta shipment - name: Attachment fields: 6 - name: AttachmentCreate fields: 1 - name: BadRequest fields: 1 - name: BookingSession fields: 1 description: Create hosted booking session - name: CollectionTagRule fields: 5 - name: CollectionTagRuleCreate fields: 1 - name: DhlPackage fields: 6 - name: DhlPackageDetails fields: 1 description: The packages to be collected, one entry per package. All packages must share the same units, and the unit pair must be either `in` + `lb` or `cm` + `kg`. - name: DhlSelfShipCollectionPayload fields: 1 description: Schedule a DHL collection - name: DirectImportCostEstimatePayload fields: 1 description: Create an import cost estimate by providing origin, destination, objects, and transport details directly - name: EmailRule fields: 5 - name: EmailRuleCreate fields: 1 - name: EmailRuleUpdate fields: 1 - name: EmailSubscription fields: 6 - name: EmailSubscriptionCreate fields: 1 - name: EmailSubscriptionUpdate fields: 1 - name: Error fields: 1 - name: FedexPackageDetails fields: 3 description: An optional summary of the packages to be collected, used for `express` collections. Provide `package_count`, `total_weight`, and `total_weight_unit` together; a partial summary, or one whose values c - name: FedexSelfShipCollectionPayload fields: 1 description: Schedule a FedEx collection - name: HostedSession fields: 31 - name: HostedSessionListItem fields: 24 - name: ImportCostEstimate fields: 12 - name: ImportCostEstimateFromQuotePayload fields: 1 description: Create an import cost estimate from an existing quote. The quote provides transport, origin/destination, and object data. Objects on the quote's request must include hs_code for the estimate to be cre - name: InboundBookingSession fields: 1 description: Create hosted inbound booking session - name: Invoice fields: 11 - name: InvoicePayment fields: 8 - name: Location fields: 10 - name: Log fields: 14 - name: MinimalLocation fields: 4 description: A minimal representation of the destination address for the shipment - name: NotFound fields: 1 - name: NullableLocation fields: 11 - name: Object fields: 18 - name: Organization fields: 10 - name: OrganizationUpdate fields: 1 - name: Package fields: 13 - name: Payment fields: 7 - name: Request fields: 28 - name: RequestCreate fields: 1 description: Create a new request - name: RequestListItem fields: 17 - name: RequestUpdateContacts fields: 2 - name: RequestUpdateCustom fields: 1 - name: SelfShipCollection fields: 10 - name: SelfShipCollectionAvailabilityCheck fields: 4 - name: SelfShipCollectionAvailabilityCheckCreate fields: 1 - name: SelfShipCollectionErrorList fields: 1 - name: SelfShipCollectionFieldErrors fields: 1 - name: Service fields: 10 - name: ShareRequest fields: 1 description: Create hosted booking session from an existing quote request - name: Shipment fields: 37 - name: ShipmentException fields: 11 - name: ShipmentExceptionCreate fields: 1 - name: ShipmentExceptionUpdate fields: 1 - name: ShipmentList fields: 16 - name: Tag fields: 9 - name: TagCreate fields: 1 - name: TagUpdate fields: 1 - name: TrackShipmentPayload fields: 1 description: Create a track shipment - name: Tracking fields: 4 - name: Upload fields: 9 - name: UploadCreate fields: 1 - name: UploadWithPresignedURL fields: 10 - name: Webhook fields: 5 - name: WebhookCreate fields: 1 - name: WebhookDelivery fields: 12 - name: WebhookDeliveryListItem fields: 10 - name: WebhookSecretToken fields: 1 - name: WebhookUpdate fields: 1 relationships: - from: WebhookDeliveryListItem to: Webhook type: belongs_to via: webhook_id - from: CollectionTagRule to: Tag type: belongs_to via: tag_id - from: Request to: HostedSession type: belongs_to via: hosted_session_id - from: Request to: Object type: has_many via: objects - from: Request to: Tag type: has_many via: tags - from: Attachment to: Request type: belongs_to via: request_id - from: Attachment to: Shipment type: belongs_to via: shipment_id - from: Attachment to: Upload type: belongs_to via: upload_id - from: HostedSession to: NullableLocation type: has_one via: destination - from: HostedSession to: Object type: has_many via: objects - from: HostedSession to: Location type: has_one via: origin - from: HostedSession to: Tag type: has_many via: tags - from: ShipmentList to: MinimalLocation type: has_one via: destination - from: ShipmentList to: HostedSession type: belongs_to via: hosted_session_id - from: ShipmentList to: MinimalLocation type: has_one via: origin - from: ShipmentList to: Tag type: has_many via: tags - from: ShipmentException to: Package type: belongs_to via: package_id - from: ShipmentException to: Shipment type: belongs_to via: shipment_id - from: WebhookDelivery to: Webhook type: belongs_to via: webhook_id - from: Invoice to: Shipment type: belongs_to via: shipment_id - from: HostedSessionListItem to: NullableLocation type: has_one via: destination - from: HostedSessionListItem to: Object type: has_many via: objects - from: HostedSessionListItem to: Location type: has_one via: origin - from: HostedSessionListItem to: Tag type: has_many via: tags - from: RequestListItem to: HostedSession type: belongs_to via: hosted_session_id - from: RequestListItem to: Tag type: has_many via: tags - from: Shipment to: Location type: has_one via: origin - from: Shipment to: Package type: has_many via: packages - from: Shipment to: Location type: has_one via: destination - from: Shipment to: Tag type: has_many via: tags - from: Shipment to: Service type: has_many via: services - from: Shipment to: HostedSession type: belongs_to via: hosted_session_id - from: Log to: APIKey type: belongs_to via: api_key_id - from: Log to: Request type: belongs_to via: request_id - from: Package to: Object type: has_many via: objects - from: InvoicePayment to: Invoice type: belongs_to via: invoice_id - from: InvoicePayment to: Payment type: belongs_to via: payment_id - from: InvoicePayment to: Shipment type: belongs_to via: shipment_id