Overview
/
Developer Tools
/
API Reference
/
Endpoint billing

API endpoint billing

Each endpoint page identifies its billing type. Use the lists below to check the public API endpoints used by your integration.

Usage-based (10) · No usage charge (154)

Usage-based

These endpoints are eligible for usage charges. Actual charges depend on successful usage, subscription coverage, and beta discounts. A beta endpoint can be usage-based while its usage is fully discounted.

See API pricing for rates and included usage, or your billing settings for your plan and available usage.

EndpointDescription
POST /file/center-of-massGet CAD file center of mass.
POST /file/conversionConvert CAD file from one format to another.
POST /file/conversion/{src_format}/{output_format}Convert CAD file with defaults.
POST /file/densityGet CAD file density.
POST /file/massGet CAD file mass.
POST /file/surface-areaGet CAD file surface area.
POST /file/volumeGet CAD file volume.
POST /ml/kcl/completionsGenerate code completions for KCL.
GET /ws/ml/copilotOpen a websocket to a Zookeeper agent instance.
GET /ws/modeling/commandsOpens a WebSocket to a Zoo KittyCAD engine instance.

No usage charge

Calling these endpoints does not incur an API usage charge. Authentication, permissions, and plan requirements may still apply.

EndpointDescription
GET /Get OpenAPI schema.
GET /announcementsList all active announcements.
GET /async/operations/{id}Get an async operation.
GET /ml/conversationsList conversations
POST /ml/custom/modelsCreate a custom ML model that is backed by one or more org datasets.
GET /ml/custom/models/{id}Retrieve the details of a single custom ML model so long as it belongs to the caller’s organization.
PUT /ml/custom/models/{id}Update mutable metadata (name, system prompt) for a custom ML model owned by the caller's organization.
GET /ml/custom/models/{id}/datasetsList the org datasets that are currently attached to a custom ML model owned by the caller’s organization.
GET /oauth2/verify-account-linkingVerify OAuth account linking and complete the authentication.
GET /orgGet an org.
POST /orgCreate an org.
PUT /orgUpdate an org.
GET /org/api-callsList API calls for your org.
GET /org/api-calls/{id}Get an API call for an org.
DELETE /org/billing/usage-collection-thresholdRestore the default for the authenticated organization's aggregate-usage collection threshold.
GET /org/billing/usage-collection-thresholdGet the authenticated organization's aggregate-usage collection threshold.
PUT /org/billing/usage-collection-thresholdSet the authenticated organization's aggregate-usage collection threshold.
GET /org/dataset/s3/policiesReturn the IAM policies customers should apply when onboarding an S3 dataset.
GET /org/datasetsList every dataset that belongs to the caller's organization.
POST /org/datasetsRegister a new org dataset.
DELETE /org/datasets/{id}Delete a dataset owned by the caller's organization.
GET /org/datasets/{id}Fetch a single dataset by ID so long as it belongs to the authenticated org.
PUT /org/datasets/{id}Update dataset metadata or storage credentials for the caller's organization.
GET /org/datasets/{id}/bulk-download/kclBulk-download KCL outputs for successful dataset conversions.
GET /org/datasets/{id}/conversionsList the file conversions that have been processed for a given dataset owned by the caller's org.
GET /org/datasets/{id}/conversions/{conversion_id}Fetch the metadata and converted output for a single dataset conversion.
GET /org/datasets/{id}/conversions/{conversion_id}/originalDownload the original source file for a specific dataset conversion.
POST /org/datasets/{id}/conversions/{conversion_id}/retriggerRetrigger a specific dataset conversion for the caller's org.
POST /org/datasets/{id}/retriggerRequest a retrigger of conversions for a dataset that belongs to the caller's org.
GET /org/datasets/{id}/search/conversionsSearch dataset conversions by conversion ID or file path.
GET /org/datasets/{id}/search/semanticRun semantic search across chunked conversion outputs for a dataset.
GET /org/datasets/{id}/statsReturn aggregate conversion stats for a dataset owned by the caller's org.
POST /org/datasets/{id}/uploadsUpload source files into a Zoo-managed dataset.
GET /org/factory/jobsList Factory jobs owned by your organization.
GET /org/membersList members of your org.
POST /org/membersAdd a member to your org.
DELETE /org/members/{user_id}Remove a member from your org.
GET /org/members/{user_id}Get a member of your org.
PUT /org/members/{user_id}Update a member of your org.
GET /org/oauth2/appsList org OAuth apps.
POST /org/oauth2/appsCreate an org OAuth app.
DELETE /org/oauth2/apps/{client_id}Delete an org OAuth app.
GET /org/oauth2/apps/{client_id}Get an org OAuth app.
PUT /org/oauth2/apps/{client_id}Update an org OAuth app.
DELETE /org/paymentDelete payment info for your org.
GET /org/paymentGet payment info about your org.
POST /org/paymentCreate payment info for your org.
PUT /org/paymentUpdate payment info for your org.
GET /org/payment/balanceGet balance for your org.
GET /org/payment/invoicesList invoices for your org.
GET /org/payment/method-portal-linkRedirect to a fresh Stripe-hosted payment-method update link for your org.
GET /org/payment/methodsList payment methods for your org.
GET /org/payment/subscriptionsGet the subscription for an org.
POST /org/payment/subscriptionsCreate the subscription for an org.
PUT /org/payment/subscriptionsUpdate the subscription for an org.
GET /org/privacyGet the privacy settings for an org.
PUT /org/privacyUpdate the privacy settings for an org.
DELETE /org/saml/idpDelete an SAML identity provider.
GET /org/saml/idpGet the SAML identity provider.
POST /org/saml/idpCreate a SAML identity provider.
PUT /org/saml/idpUpdate the SAML identity provider.
GET /org/service-accountsList service accounts for your org.
POST /org/service-accountsCreate a new service account for your org.
DELETE /org/service-accounts/{token}Delete an service account for your org.
GET /org/service-accounts/{token}Get an service account for your org.
GET /org/shortlinksGet the shortlinks for an org.
GET /org/skillsList every skill that belongs to the caller's organization.
GET /pingReturn pong.
GET /projects/categoriesList the active categories available for project submissions.
GET /projects/publicList publicly visible community projects for the website/gallery.
GET /projects/public/{id}Get one publicly visible community project.
GET /projects/public/{id}/downloadDownload a published public project as a tar archive.
GET /projects/public/{id}/thumbnailFetch the public thumbnail for a published project.
DELETE /projects/public/{id}/voteRemove the authenticated user's upvote from a published community project.
POST /projects/public/{id}/voteAdd the authenticated user's upvote to a published community project.
GET /unit/conversion/angle/{input_unit}/{output_unit}Convert angle units.
GET /unit/conversion/area/{input_unit}/{output_unit}Convert area units.
GET /unit/conversion/current/{input_unit}/{output_unit}Convert current units.
GET /unit/conversion/energy/{input_unit}/{output_unit}Convert energy units.
GET /unit/conversion/force/{input_unit}/{output_unit}Convert force units.
GET /unit/conversion/frequency/{input_unit}/{output_unit}Convert frequency units.
GET /unit/conversion/length/{input_unit}/{output_unit}Convert length units.
GET /unit/conversion/mass/{input_unit}/{output_unit}Convert mass units.
GET /unit/conversion/power/{input_unit}/{output_unit}Convert power units.
GET /unit/conversion/pressure/{input_unit}/{output_unit}Convert pressure units.
GET /unit/conversion/temperature/{input_unit}/{output_unit}Convert temperature units.
GET /unit/conversion/torque/{input_unit}/{output_unit}Convert torque units.
GET /unit/conversion/volume/{input_unit}/{output_unit}Convert volume units.
DELETE /userDelete your user.
GET /userGet your user.
PUT /userUpdate your user.
GET /user/api-callsList API calls for your user.
GET /user/api-calls/{id}Get an API call for a user.
GET /user/api-tokensList API tokens for your user.
POST /user/api-tokensCreate a new API token for your user.
DELETE /user/api-tokens/{token}Delete an API token for your user.
GET /user/api-tokens/{token}Get an API token for your user.
DELETE /user/billing/usage-collection-thresholdRestore the default for your personal aggregate-usage collection threshold.
GET /user/billing/usage-collection-thresholdGet your personal aggregate-usage collection threshold.
PUT /user/billing/usage-collection-thresholdSet your personal aggregate-usage collection threshold.
GET /user/cad-user-infoGets authenticated CAD user info form data for the current user.
POST /user/client-errorsReport a CLIent-originated error.
GET /user/email-marketing-consentGet email marketing consent state for the authenticated user.
POST /user/email-marketing-consent/declineRecord explicit decline for email marketing consent.
POST /user/email-marketing-consent/requestRequest email marketing opt-in and send a confirmation email.
POST /user/email-marketing-consent/seenMark the email-marketing modal as seen/dismissed for the authenticated user.
GET /user/extendedGet extended information about your user.
GET /user/factory/finishesList finishes currently available for customer Factory submissions.
GET /user/factory/jobsList your personal Factory jobs.
GET /user/factory/materialsList materials currently available for customer Factory submissions.
GET /user/featuresList user-visible feature flags enabled for the authenticated user.
GET /user/oauth2/appsList personal OAuth apps.
POST /user/oauth2/appsCreate a personal OAuth app.
DELETE /user/oauth2/apps/{client_id}Delete a personal OAuth app.
GET /user/oauth2/apps/{client_id}Get a personal OAuth app.
PUT /user/oauth2/apps/{client_id}Update a personal OAuth app.
GET /user/oauth2/providersGet the OAuth2 providers for your user.
GET /user/orgGet a user's org.
DELETE /user/paymentDelete payment info for your user.
GET /user/paymentGet payment info about your user.
POST /user/paymentCreate payment info for your user.
PUT /user/paymentUpdate payment info for your user.
GET /user/payment/balanceGet balance for your user.
GET /user/payment/invoicesList invoices for your user.
GET /user/payment/method-portal-linkRedirect to a fresh Stripe-hosted payment-method update link for your user.
GET /user/payment/methodsList payment methods for your user.
POST /user/payment/methods/{id}/defaultSet the default payment method for your user.
GET /user/payment/subscriptionsGet the subscription for a user.
POST /user/payment/subscriptionsCreate the subscription for a user.
PUT /user/payment/subscriptionsUpdate the user's subscription.
GET /user/privacyGet the privacy settings for a user.
PUT /user/privacyUpdate the user's privacy settings.
GET /user/projectsList the authenticated user's projects.
POST /user/projectsCreate a draft project for the authenticated user.
DELETE /user/projects/{id}Delete one of the authenticated user's projects.
GET /user/projects/{id}Get one of the authenticated user's projects.
PUT /user/projects/{id}Replace one of the authenticated user's projects.
GET /user/projects/{id}/downloadDownload one of the authenticated user's projects as a tar archive.
DELETE /user/projects/{id}/organizationMove an organization project back to its creator's personal library.
PUT /user/projects/{id}/organizationMove one of the authenticated user's projects into their active organization library.
POST /user/projects/{id}/publishSubmit one of the authenticated user's projects for public review.
GET /user/projects/{id}/share-linksList share links for one of the authenticated user's projects.
POST /user/projects/{id}/share-linksCreate a share link for one of the authenticated user's projects.
DELETE /user/projects/{id}/share-links/{key}Delete one share link for one of the authenticated user's projects.
GET /user/projects/{id}/thumbnailFetch the authenticated owner's current project thumbnail.
GET /user/session/{token}Get a session for your user.
GET /user/shortlinksGet the shortlinks for a user.
POST /user/shortlinksCreate a shortlink for a user.
DELETE /user/shortlinks/{key}Delete a shortlink for a user.
PUT /user/shortlinks/{key}Update a shortlink for a user.
GET /user/text-to-cadList text-to-CAD parts you've generated.
GET /user/text-to-cad/{id}Get a text-to-CAD response.
POST /user/text-to-cad/{id}Give feedback to a specific ML response.
GET /ws/ml/reasoning/{id}Open a websocket to prompt the ML copilot.