Update api spec (#291)

* YOYO NEW API SPEC!

* I have generated the latest API!

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
zoo-github-actions-auth[bot]
2024-10-02 13:36:23 -07:00
committed by GitHub
parent 1263d07c33
commit c582a0c2eb
49 changed files with 1133 additions and 934 deletions

File diff suppressed because it is too large Load Diff

View File

@ -79,7 +79,9 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[ApiCallWithPrice, Error]]: ) -> Optional[Union[ApiCallWithPrice, Error]]:
"""This endpoint requires authentication by any Zoo user. It returns details of the requested API call for the user. """This endpoint requires authentication by any Zoo user. It returns details of the requested API call for the user.
If the user is not authenticated to view the specified API call, then it is not returned. If the user is not authenticated to view the specified API call, then it is not returned.
Only Zoo employees can view API calls for other users.""" # noqa: E501 Only Zoo employees can view API calls for other users.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -110,7 +112,9 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[ApiCallWithPrice, Error]]: ) -> Optional[Union[ApiCallWithPrice, Error]]:
"""This endpoint requires authentication by any Zoo user. It returns details of the requested API call for the user. """This endpoint requires authentication by any Zoo user. It returns details of the requested API call for the user.
If the user is not authenticated to view the specified API call, then it is not returned. If the user is not authenticated to view the specified API call, then it is not returned.
Only Zoo employees can view API calls for other users.""" # noqa: E501 Only Zoo employees can view API calls for other users.""" # noqa: E501
return ( return (

View File

@ -209,8 +209,11 @@ def sync(
] ]
]: ]:
"""Get the status and output of an async operation. """Get the status and output of an async operation.
This endpoint requires authentication by any Zoo user. It returns details of the requested async operation for the user. This endpoint requires authentication by any Zoo user. It returns details of the requested async operation for the user.
If the user is not authenticated to view the specified async operation, then it is not returned. If the user is not authenticated to view the specified async operation, then it is not returned.
Only Zoo employees with the proper access can view async operations for other users.""" # noqa: E501 Only Zoo employees with the proper access can view async operations for other users.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -267,8 +270,11 @@ async def asyncio(
] ]
]: ]:
"""Get the status and output of an async operation. """Get the status and output of an async operation.
This endpoint requires authentication by any Zoo user. It returns details of the requested async operation for the user. This endpoint requires authentication by any Zoo user. It returns details of the requested async operation for the user.
If the user is not authenticated to view the specified async operation, then it is not returned. If the user is not authenticated to view the specified async operation, then it is not returned.
Only Zoo employees with the proper access can view async operations for other users.""" # noqa: E501 Only Zoo employees with the proper access can view async operations for other users.""" # noqa: E501
return ( return (

View File

@ -110,8 +110,11 @@ def sync(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]: ) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user if "me" is passed as the user id. """This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user if "me" is passed as the user id.
Alternatively, you can use the `/user/api-calls` endpoint to get the API calls for your user. Alternatively, you can use the `/user/api-calls` endpoint to get the API calls for your user.
If the authenticated user is a Zoo employee, then the API calls are returned for the user specified by the user id. If the authenticated user is a Zoo employee, then the API calls are returned for the user specified by the user id.
The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501 The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -154,8 +157,11 @@ async def asyncio(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]: ) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user if "me" is passed as the user id. """This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user if "me" is passed as the user id.
Alternatively, you can use the `/user/api-calls` endpoint to get the API calls for your user. Alternatively, you can use the `/user/api-calls` endpoint to get the API calls for your user.
If the authenticated user is a Zoo employee, then the API calls are returned for the user specified by the user id. If the authenticated user is a Zoo employee, then the API calls are returned for the user specified by the user id.
The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501 The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
return ( return (

View File

@ -116,6 +116,7 @@ def sync(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[AsyncApiCallResultsPage, Error]]: ) -> Optional[Union[AsyncApiCallResultsPage, Error]]:
"""For async file conversion operations, this endpoint does not return the contents of converted files (`output`). To get the contents use the `/async/operations/{id}` endpoint. """For async file conversion operations, this endpoint does not return the contents of converted files (`output`). To get the contents use the `/async/operations/{id}` endpoint.
This endpoint requires authentication by a Zoo employee.""" # noqa: E501 This endpoint requires authentication by a Zoo employee.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -158,6 +159,7 @@ async def asyncio(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[AsyncApiCallResultsPage, Error]]: ) -> Optional[Union[AsyncApiCallResultsPage, Error]]:
"""For async file conversion operations, this endpoint does not return the contents of converted files (`output`). To get the contents use the `/async/operations/{id}` endpoint. """For async file conversion operations, this endpoint does not return the contents of converted files (`output`). To get the contents use the `/async/operations/{id}` endpoint.
This endpoint requires authentication by a Zoo employee.""" # noqa: E501 This endpoint requires authentication by a Zoo employee.""" # noqa: E501
return ( return (

View File

@ -105,7 +105,9 @@ def sync(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]: ) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This includes all API calls that were made by users in the org. """This includes all API calls that were made by users in the org.
This endpoint requires authentication by an org admin. It returns the API calls for the authenticated user's org. This endpoint requires authentication by an org admin. It returns the API calls for the authenticated user's org.
The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501 The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -144,7 +146,9 @@ async def asyncio(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]: ) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This includes all API calls that were made by users in the org. """This includes all API calls that were made by users in the org.
This endpoint requires authentication by an org admin. It returns the API calls for the authenticated user's org. This endpoint requires authentication by an org admin. It returns the API calls for the authenticated user's org.
The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501 The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
return ( return (

View File

@ -105,6 +105,7 @@ def sync(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]: ) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user. """This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user.
The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501 The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -143,6 +144,7 @@ async def asyncio(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]: ) -> Optional[Union[ApiCallWithPriceResultsPage, Error]]:
"""This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user. """This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user.
The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501 The API calls are returned in order of creation, with the most recently created API calls first.""" # noqa: E501
return ( return (

View File

@ -73,6 +73,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This endpoint requires authentication by any Zoo user. It deletes the requested API token for the user. """This endpoint requires authentication by any Zoo user. It deletes the requested API token for the user.
This endpoint does not actually delete the API token from the database. It merely marks the token as invalid. We still want to keep the token in the database for historical purposes.""" # noqa: E501 This endpoint does not actually delete the API token from the database. It merely marks the token as invalid. We still want to keep the token in the database for historical purposes.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -103,6 +104,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This endpoint requires authentication by any Zoo user. It deletes the requested API token for the user. """This endpoint requires authentication by any Zoo user. It deletes the requested API token for the user.
This endpoint does not actually delete the API token from the database. It merely marks the token as invalid. We still want to keep the token in the database for historical purposes.""" # noqa: E501 This endpoint does not actually delete the API token from the database. It merely marks the token as invalid. We still want to keep the token in the database for historical purposes.""" # noqa: E501
return ( return (

View File

@ -105,6 +105,7 @@ def sync(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[ApiTokenResultsPage, Error]]: ) -> Optional[Union[ApiTokenResultsPage, Error]]:
"""This endpoint requires authentication by any Zoo user. It returns the API tokens for the authenticated user. """This endpoint requires authentication by any Zoo user. It returns the API tokens for the authenticated user.
The API tokens are returned in order of creation, with the most recently created API tokens first.""" # noqa: E501 The API tokens are returned in order of creation, with the most recently created API tokens first.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -143,6 +144,7 @@ async def asyncio(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[ApiTokenResultsPage, Error]]: ) -> Optional[Union[ApiTokenResultsPage, Error]]:
"""This endpoint requires authentication by any Zoo user. It returns the API tokens for the authenticated user. """This endpoint requires authentication by any Zoo user. It returns the API tokens for the authenticated user.
The API tokens are returned in order of creation, with the most recently created API tokens first.""" # noqa: E501 The API tokens are returned in order of creation, with the most recently created API tokens first.""" # noqa: E501
return ( return (

View File

@ -67,6 +67,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos. """This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos.
The user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501 The user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -93,6 +94,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos. """This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos.
The user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501 The user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501
return ( return (

View File

@ -74,6 +74,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[AppClientInfo, Error]]: ) -> Optional[Union[AppClientInfo, Error]]:
"""This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos. """This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos.
The user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501 The user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -100,6 +101,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[AppClientInfo, Error]]: ) -> Optional[Union[AppClientInfo, Error]]:
"""This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos. """This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos.
The user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501 The user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.""" # noqa: E501
return ( return (

View File

@ -101,9 +101,13 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[FileCenterOfMass, Error]]: ) -> Optional[Union[FileCenterOfMass, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale. """We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the cartesian coordinate in world space measure units. This endpoint returns the cartesian coordinate in world space measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported. In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the center of mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously. Get the center of mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -142,9 +146,13 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[FileCenterOfMass, Error]]: ) -> Optional[Union[FileCenterOfMass, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale. """We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the cartesian coordinate in world space measure units. This endpoint returns the cartesian coordinate in world space measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported. In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the center of mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously. Get the center of mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return ( return (

View File

@ -91,8 +91,11 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[FileConversion, Error]]: ) -> Optional[Union[FileConversion, Error]]:
"""If you wish to specify the conversion options, use the `/file/conversion` endpoint instead. """If you wish to specify the conversion options, use the `/file/conversion` endpoint instead.
Convert a CAD file from one format to another. If the file being converted is larger than 25MB, it will be performed asynchronously. Convert a CAD file from one format to another. If the file being converted is larger than 25MB, it will be performed asynchronously.
If the conversion is performed synchronously, the contents of the converted file (`output`) will be returned as a base64 encoded string. If the conversion is performed synchronously, the contents of the converted file (`output`) will be returned as a base64 encoded string.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -131,8 +134,11 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[FileConversion, Error]]: ) -> Optional[Union[FileConversion, Error]]:
"""If you wish to specify the conversion options, use the `/file/conversion` endpoint instead. """If you wish to specify the conversion options, use the `/file/conversion` endpoint instead.
Convert a CAD file from one format to another. If the file being converted is larger than 25MB, it will be performed asynchronously. Convert a CAD file from one format to another. If the file being converted is larger than 25MB, it will be performed asynchronously.
If the conversion is performed synchronously, the contents of the converted file (`output`) will be returned as a base64 encoded string. If the conversion is performed synchronously, the contents of the converted file (`output`) will be returned as a base64 encoded string.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return ( return (

View File

@ -120,9 +120,13 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[FileDensity, Error]]: ) -> Optional[Union[FileDensity, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale. """We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint assumes if you are giving a material mass in a specific mass units, we return a density in mass unit per cubic measure unit. This endpoint assumes if you are giving a material mass in a specific mass units, we return a density in mass unit per cubic measure unit.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported. In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the density of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously. Get the density of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -169,9 +173,13 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[FileDensity, Error]]: ) -> Optional[Union[FileDensity, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale. """We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint assumes if you are giving a material mass in a specific mass units, we return a density in mass unit per cubic measure unit. This endpoint assumes if you are giving a material mass in a specific mass units, we return a density in mass unit per cubic measure unit.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported. In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the density of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously. Get the density of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return ( return (

View File

@ -120,9 +120,13 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[FileMass, Error]]: ) -> Optional[Union[FileMass, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale. """We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint assumes if you are giving a material density in a specific mass unit per cubic measure unit, we return a mass in mass units. The same mass units as passed in the material density. This endpoint assumes if you are giving a material density in a specific mass unit per cubic measure unit, we return a mass in mass units. The same mass units as passed in the material density.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported. In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously. Get the mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -169,9 +173,13 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[FileMass, Error]]: ) -> Optional[Union[FileMass, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale. """We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint assumes if you are giving a material density in a specific mass unit per cubic measure unit, we return a mass in mass units. The same mass units as passed in the material density. This endpoint assumes if you are giving a material density in a specific mass unit per cubic measure unit, we return a mass in mass units. The same mass units as passed in the material density.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported. In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously. Get the mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return ( return (

View File

@ -101,9 +101,13 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[FileSurfaceArea, Error]]: ) -> Optional[Union[FileSurfaceArea, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale. """We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the square measure units. This endpoint returns the square measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported. In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the surface area of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously. Get the surface area of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -142,9 +146,13 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[FileSurfaceArea, Error]]: ) -> Optional[Union[FileSurfaceArea, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale. """We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the square measure units. This endpoint returns the square measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported. In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the surface area of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously. Get the surface area of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return ( return (

View File

@ -99,9 +99,13 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[FileVolume, Error]]: ) -> Optional[Union[FileVolume, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale. """We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the cubic measure units. This endpoint returns the cubic measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported. In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the volume of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously. Get the volume of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -140,9 +144,13 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[FileVolume, Error]]: ) -> Optional[Union[FileVolume, Error]]:
"""We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale. """We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.
This endpoint returns the cubic measure units. This endpoint returns the cubic measure units.
In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported. In the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.
Get the volume of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously. Get the volume of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.
If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501 If the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.""" # noqa: E501
return ( return (

View File

@ -72,6 +72,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[Metadata, Error]]: ) -> Optional[Union[Metadata, Error]]:
"""This includes information on any of our other distributed systems it is connected to. """This includes information on any of our other distributed systems it is connected to.
You must be a Zoo employee to perform this request.""" # noqa: E501 You must be a Zoo employee to perform this request.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -98,6 +99,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[Metadata, Error]]: ) -> Optional[Union[Metadata, Error]]:
"""This includes information on any of our other distributed systems it is connected to. """This includes information on any of our other distributed systems it is connected to.
You must be a Zoo employee to perform this request.""" # noqa: E501 You must be a Zoo employee to perform this request.""" # noqa: E501
return ( return (

View File

@ -77,6 +77,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[ApiToken, Error]]: ) -> Optional[Union[ApiToken, Error]]:
"""This endpoint allows us to run API calls from our discord bot on behalf of a user. The user must have a discord account linked to their Zoo Account via oauth2 for this to work. """This endpoint allows us to run API calls from our discord bot on behalf of a user. The user must have a discord account linked to their Zoo Account via oauth2 for this to work.
You must be a Zoo employee to use this endpoint.""" # noqa: E501 You must be a Zoo employee to use this endpoint.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -107,6 +108,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[ApiToken, Error]]: ) -> Optional[Union[ApiToken, Error]]:
"""This endpoint allows us to run API calls from our discord bot on behalf of a user. The user must have a discord account linked to their Zoo Account via oauth2 for this to work. """This endpoint allows us to run API calls from our discord bot on behalf of a user. The user must have a discord account linked to their Zoo Account via oauth2 for this to work.
You must be a Zoo employee to use this endpoint.""" # noqa: E501 You must be a Zoo employee to use this endpoint.""" # noqa: E501
return ( return (

View File

@ -94,7 +94,9 @@ def sync(
kcl: Optional[bool] = None, kcl: Optional[bool] = None,
) -> Optional[Union[TextToCad, Error]]: ) -> Optional[Union[TextToCad, Error]]:
"""Because our source of truth for the resulting model is a STEP file, you will always have STEP file contents when you list your generated models. Any other formats you request here will also be returned when you list your generated models. """Because our source of truth for the resulting model is a STEP file, you will always have STEP file contents when you list your generated models. Any other formats you request here will also be returned when you list your generated models.
This operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint. This operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
One thing to note, if you hit the cache, this endpoint will return right away. So you only have to wait if the status is not `Completed` or `Failed`.""" # noqa: E501 One thing to note, if you hit the cache, this endpoint will return right away. So you only have to wait if the status is not `Completed` or `Failed`.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -133,7 +135,9 @@ async def asyncio(
kcl: Optional[bool] = None, kcl: Optional[bool] = None,
) -> Optional[Union[TextToCad, Error]]: ) -> Optional[Union[TextToCad, Error]]:
"""Because our source of truth for the resulting model is a STEP file, you will always have STEP file contents when you list your generated models. Any other formats you request here will also be returned when you list your generated models. """Because our source of truth for the resulting model is a STEP file, you will always have STEP file contents when you list your generated models. Any other formats you request here will also be returned when you list your generated models.
This operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint. This operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.
One thing to note, if you hit the cache, this endpoint will return right away. So you only have to wait if the status is not `Completed` or `Failed`.""" # noqa: E501 One thing to note, if you hit the cache, this endpoint will return right away. So you only have to wait if the status is not `Completed` or `Failed`.""" # noqa: E501
return ( return (

View File

@ -105,7 +105,9 @@ def sync(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[MlPromptResultsPage, Error]]: ) -> Optional[Union[MlPromptResultsPage, Error]]:
"""For text-to-cad prompts, this will always return the STEP file contents as well as the format the user originally requested. """For text-to-cad prompts, this will always return the STEP file contents as well as the format the user originally requested.
This endpoint requires authentication by a Zoo employee. This endpoint requires authentication by a Zoo employee.
The ML prompts are returned in order of creation, with the most recently created ML prompts first.""" # noqa: E501 The ML prompts are returned in order of creation, with the most recently created ML prompts first.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -144,7 +146,9 @@ async def asyncio(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[MlPromptResultsPage, Error]]: ) -> Optional[Union[MlPromptResultsPage, Error]]:
"""For text-to-cad prompts, this will always return the STEP file contents as well as the format the user originally requested. """For text-to-cad prompts, this will always return the STEP file contents as well as the format the user originally requested.
This endpoint requires authentication by a Zoo employee. This endpoint requires authentication by a Zoo employee.
The ML prompts are returned in order of creation, with the most recently created ML prompts first.""" # noqa: E501 The ML prompts are returned in order of creation, with the most recently created ML prompts first.""" # noqa: E501
return ( return (

View File

@ -115,7 +115,9 @@ def sync(
no_models: Optional[bool] = None, no_models: Optional[bool] = None,
) -> Optional[Union[TextToCadResultsPage, Error]]: ) -> Optional[Union[TextToCadResultsPage, Error]]:
"""This will always return the STEP file contents as well as the format the user originally requested. """This will always return the STEP file contents as well as the format the user originally requested.
This endpoint requires authentication by any Zoo user. It returns the text-to-CAD models for the authenticated user. This endpoint requires authentication by any Zoo user. It returns the text-to-CAD models for the authenticated user.
The text-to-CAD models are returned in order of creation, with the most recently created text-to-CAD models first.""" # noqa: E501 The text-to-CAD models are returned in order of creation, with the most recently created text-to-CAD models first.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -158,7 +160,9 @@ async def asyncio(
no_models: Optional[bool] = None, no_models: Optional[bool] = None,
) -> Optional[Union[TextToCadResultsPage, Error]]: ) -> Optional[Union[TextToCadResultsPage, Error]]:
"""This will always return the STEP file contents as well as the format the user originally requested. """This will always return the STEP file contents as well as the format the user originally requested.
This endpoint requires authentication by any Zoo user. It returns the text-to-CAD models for the authenticated user. This endpoint requires authentication by any Zoo user. It returns the text-to-CAD models for the authenticated user.
The text-to-CAD models are returned in order of creation, with the most recently created text-to-CAD models first.""" # noqa: E501 The text-to-CAD models are returned in order of creation, with the most recently created text-to-CAD models first.""" # noqa: E501
return ( return (

View File

@ -78,9 +78,13 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[OrgMember, Error]]: ) -> Optional[Union[OrgMember, Error]]:
"""If the user exists, this will add them to your org. If they do not exist, this will create a new user and add them to your org. """If the user exists, this will add them to your org. If they do not exist, this will create a new user and add them to your org.
In both cases the user gets an email that they have been added to the org. In both cases the user gets an email that they have been added to the org.
If the user is already in your org, this will return a 400 and a message. If the user is already in your org, this will return a 400 and a message.
If the user is already in a different org, this will return a 400 and a message. If the user is already in a different org, this will return a 400 and a message.
This endpoint requires authentication by an org admin. It adds the specified member to the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by an org admin. It adds the specified member to the authenticated user's org.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -111,9 +115,13 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[OrgMember, Error]]: ) -> Optional[Union[OrgMember, Error]]:
"""If the user exists, this will add them to your org. If they do not exist, this will create a new user and add them to your org. """If the user exists, this will add them to your org. If they do not exist, this will create a new user and add them to your org.
In both cases the user gets an email that they have been added to the org. In both cases the user gets an email that they have been added to the org.
If the user is already in your org, this will return a 400 and a message. If the user is already in your org, this will return a 400 and a message.
If the user is already in a different org, this will return a 400 and a message. If the user is already in a different org, this will return a 400 and a message.
This endpoint requires authentication by an org admin. It adds the specified member to the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by an org admin. It adds the specified member to the authenticated user's org.""" # noqa: E501
return ( return (

View File

@ -67,7 +67,9 @@ def sync(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""In order to delete an org, you must first delete all of its members, except yourself. """In order to delete an org, you must first delete all of its members, except yourself.
You must also have no outstanding invoices or unpaid balances. You must also have no outstanding invoices or unpaid balances.
This endpoint requires authentication by an org admin. It deletes the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by an org admin. It deletes the authenticated user's org.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -94,7 +96,9 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""In order to delete an org, you must first delete all of its members, except yourself. """In order to delete an org, you must first delete all of its members, except yourself.
You must also have no outstanding invoices or unpaid balances. You must also have no outstanding invoices or unpaid balances.
This endpoint requires authentication by an org admin. It deletes the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by an org admin. It deletes the authenticated user's org.""" # noqa: E501
return ( return (

View File

@ -72,6 +72,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[UserOrgInfo, Error]]: ) -> Optional[Union[UserOrgInfo, Error]]:
"""This endpoint requires authentication by any Zoo user. It gets the authenticated user's org. """This endpoint requires authentication by any Zoo user. It gets the authenticated user's org.
If the user is not a member of an org, this endpoint will return a 404.""" # noqa: E501 If the user is not a member of an org, this endpoint will return a 404.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -98,6 +99,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[UserOrgInfo, Error]]: ) -> Optional[Union[UserOrgInfo, Error]]:
"""This endpoint requires authentication by any Zoo user. It gets the authenticated user's org. """This endpoint requires authentication by any Zoo user. It gets the authenticated user's org.
If the user is not a member of an org, this endpoint will return a 404.""" # noqa: E501 If the user is not a member of an org, this endpoint will return a 404.""" # noqa: E501
return ( return (

View File

@ -78,6 +78,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by the org admin. It creates the payment information for the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by the org admin. It creates the payment information for the authenticated user's org.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -108,6 +109,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by the org admin. It creates the payment information for the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by the org admin. It creates the payment information for the authenticated user's org.""" # noqa: E501
return ( return (

View File

@ -78,6 +78,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by any Zoo user. It creates the payment information for the authenticated user.""" # noqa: E501 This endpoint requires authentication by any Zoo user. It creates the payment information for the authenticated user.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -108,6 +109,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by any Zoo user. It creates the payment information for the authenticated user.""" # noqa: E501 This endpoint requires authentication by any Zoo user. It creates the payment information for the authenticated user.""" # noqa: E501
return ( return (

View File

@ -67,6 +67,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by an org admin. It deletes the payment information for the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by an org admin. It deletes the payment information for the authenticated user's org.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -93,6 +94,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by an org admin. It deletes the payment information for the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by an org admin. It deletes the payment information for the authenticated user's org.""" # noqa: E501
return ( return (

View File

@ -67,6 +67,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by any Zoo user. It deletes the payment information for the authenticated user.""" # noqa: E501 This endpoint requires authentication by any Zoo user. It deletes the payment information for the authenticated user.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -93,6 +94,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by any Zoo user. It deletes the payment information for the authenticated user.""" # noqa: E501 This endpoint requires authentication by any Zoo user. It deletes the payment information for the authenticated user.""" # noqa: E501
return ( return (

View File

@ -72,6 +72,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by an org admin. It gets the payment information for the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by an org admin. It gets the payment information for the authenticated user's org.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -98,6 +99,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by an org admin. It gets the payment information for the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by an org admin. It gets the payment information for the authenticated user's org.""" # noqa: E501
return ( return (

View File

@ -72,6 +72,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by any Zoo user. It gets the payment information for the authenticated user.""" # noqa: E501 This endpoint requires authentication by any Zoo user. It gets the payment information for the authenticated user.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -98,6 +99,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by any Zoo user. It gets the payment information for the authenticated user.""" # noqa: E501 This endpoint requires authentication by any Zoo user. It gets the payment information for the authenticated user.""" # noqa: E501
return ( return (

View File

@ -78,6 +78,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by an org admin. It updates the payment information for the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by an org admin. It updates the payment information for the authenticated user's org.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -108,6 +109,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by an org admin. It updates the payment information for the authenticated user's org.""" # noqa: E501 This endpoint requires authentication by an org admin. It updates the payment information for the authenticated user's org.""" # noqa: E501
return ( return (

View File

@ -78,6 +78,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by any Zoo user. It updates the payment information for the authenticated user.""" # noqa: E501 This endpoint requires authentication by any Zoo user. It updates the payment information for the authenticated user.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -108,6 +109,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[Customer, Error]]: ) -> Optional[Union[Customer, Error]]:
"""This includes billing address, phone, and name. """This includes billing address, phone, and name.
This endpoint requires authentication by any Zoo user. It updates the payment information for the authenticated user.""" # noqa: E501 This endpoint requires authentication by any Zoo user. It updates the payment information for the authenticated user.""" # noqa: E501
return ( return (

View File

@ -73,6 +73,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This endpoint requires authentication by an org admin. It deletes the requested service account for the organization. """This endpoint requires authentication by an org admin. It deletes the requested service account for the organization.
This endpoint does not actually delete the service account from the database. It merely marks the token as invalid. We still want to keep the service account in the database for historical purposes.""" # noqa: E501 This endpoint does not actually delete the service account from the database. It merely marks the token as invalid. We still want to keep the service account in the database for historical purposes.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -103,6 +104,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This endpoint requires authentication by an org admin. It deletes the requested service account for the organization. """This endpoint requires authentication by an org admin. It deletes the requested service account for the organization.
This endpoint does not actually delete the service account from the database. It merely marks the token as invalid. We still want to keep the service account in the database for historical purposes.""" # noqa: E501 This endpoint does not actually delete the service account from the database. It merely marks the token as invalid. We still want to keep the service account in the database for historical purposes.""" # noqa: E501
return ( return (

View File

@ -105,6 +105,7 @@ def sync(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[ServiceAccountResultsPage, Error]]: ) -> Optional[Union[ServiceAccountResultsPage, Error]]:
"""This endpoint requires authentication by an org admin. It returns the service accounts for the organization. """This endpoint requires authentication by an org admin. It returns the service accounts for the organization.
The service accounts are returned in order of creation, with the most recently created service accounts first.""" # noqa: E501 The service accounts are returned in order of creation, with the most recently created service accounts first.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -143,6 +144,7 @@ async def asyncio(
page_token: Optional[str] = None, page_token: Optional[str] = None,
) -> Optional[Union[ServiceAccountResultsPage, Error]]: ) -> Optional[Union[ServiceAccountResultsPage, Error]]:
"""This endpoint requires authentication by an org admin. It returns the service accounts for the organization. """This endpoint requires authentication by an org admin. It returns the service accounts for the organization.
The service accounts are returned in order of creation, with the most recently created service accounts first.""" # noqa: E501 The service accounts are returned in order of creation, with the most recently created service accounts first.""" # noqa: E501
return ( return (

View File

@ -67,6 +67,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This endpoint requires authentication by any Zoo user. It deletes the authenticated user from Zoo's database. """This endpoint requires authentication by any Zoo user. It deletes the authenticated user from Zoo's database.
This call will only succeed if all invoices associated with the user have been paid in full and there is no outstanding balance.""" # noqa: E501 This call will only succeed if all invoices associated with the user have been paid in full and there is no outstanding balance.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -93,6 +94,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Error]: ) -> Optional[Error]:
"""This endpoint requires authentication by any Zoo user. It deletes the authenticated user from Zoo's database. """This endpoint requires authentication by any Zoo user. It deletes the authenticated user from Zoo's database.
This call will only succeed if all invoices associated with the user have been paid in full and there is no outstanding balance.""" # noqa: E501 This call will only succeed if all invoices associated with the user have been paid in full and there is no outstanding balance.""" # noqa: E501
return ( return (

View File

@ -74,6 +74,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[List[AccountProvider], Error]]: ) -> Optional[Union[List[AccountProvider], Error]]:
"""If this returns an empty array, then the user has not connected any OAuth2 providers and uses raw email authentication. """If this returns an empty array, then the user has not connected any OAuth2 providers and uses raw email authentication.
This endpoint requires authentication by any Zoo user. It gets the providers for the authenticated user.""" # noqa: E501 This endpoint requires authentication by any Zoo user. It gets the providers for the authenticated user.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -100,6 +101,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[List[AccountProvider], Error]]: ) -> Optional[Union[List[AccountProvider], Error]]:
"""If this returns an empty array, then the user has not connected any OAuth2 providers and uses raw email authentication. """If this returns an empty array, then the user has not connected any OAuth2 providers and uses raw email authentication.
This endpoint requires authentication by any Zoo user. It gets the providers for the authenticated user.""" # noqa: E501 This endpoint requires authentication by any Zoo user. It gets the providers for the authenticated user.""" # noqa: E501
return ( return (

View File

@ -77,7 +77,9 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[User, Error]]: ) -> Optional[Union[User, Error]]:
"""To get information about yourself, use `/users/me` as the endpoint. By doing so you will get the user information for the authenticated user. """To get information about yourself, use `/users/me` as the endpoint. By doing so you will get the user information for the authenticated user.
Alternatively, to get information about the authenticated user, use `/user` endpoint. Alternatively, to get information about the authenticated user, use `/user` endpoint.
To get information about any Zoo user, you must be a Zoo employee.""" # noqa: E501 To get information about any Zoo user, you must be a Zoo employee.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -108,7 +110,9 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[User, Error]]: ) -> Optional[Union[User, Error]]:
"""To get information about yourself, use `/users/me` as the endpoint. By doing so you will get the user information for the authenticated user. """To get information about yourself, use `/users/me` as the endpoint. By doing so you will get the user information for the authenticated user.
Alternatively, to get information about the authenticated user, use `/user` endpoint. Alternatively, to get information about the authenticated user, use `/user` endpoint.
To get information about any Zoo user, you must be a Zoo employee.""" # noqa: E501 To get information about any Zoo user, you must be a Zoo employee.""" # noqa: E501
return ( return (

View File

@ -79,7 +79,9 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[ExtendedUser, Error]]: ) -> Optional[Union[ExtendedUser, Error]]:
"""To get information about yourself, use `/users-extended/me` as the endpoint. By doing so you will get the user information for the authenticated user. """To get information about yourself, use `/users-extended/me` as the endpoint. By doing so you will get the user information for the authenticated user.
Alternatively, to get information about the authenticated user, use `/user/extended` endpoint. Alternatively, to get information about the authenticated user, use `/user/extended` endpoint.
To get information about any Zoo user, you must be a Zoo employee.""" # noqa: E501 To get information about any Zoo user, you must be a Zoo employee.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -110,7 +112,9 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[ExtendedUser, Error]]: ) -> Optional[Union[ExtendedUser, Error]]:
"""To get information about yourself, use `/users-extended/me` as the endpoint. By doing so you will get the user information for the authenticated user. """To get information about yourself, use `/users-extended/me` as the endpoint. By doing so you will get the user information for the authenticated user.
Alternatively, to get information about the authenticated user, use `/user/extended` endpoint. Alternatively, to get information about the authenticated user, use `/user/extended` endpoint.
To get information about any Zoo user, you must be a Zoo employee.""" # noqa: E501 To get information about any Zoo user, you must be a Zoo employee.""" # noqa: E501
return ( return (

View File

@ -72,6 +72,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[User, Error]]: ) -> Optional[Union[User, Error]]:
"""Get the user information for the authenticated user. """Get the user information for the authenticated user.
Alternatively, you can also use the `/users/me` endpoint.""" # noqa: E501 Alternatively, you can also use the `/users/me` endpoint.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -98,6 +99,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[User, Error]]: ) -> Optional[Union[User, Error]]:
"""Get the user information for the authenticated user. """Get the user information for the authenticated user.
Alternatively, you can also use the `/users/me` endpoint.""" # noqa: E501 Alternatively, you can also use the `/users/me` endpoint.""" # noqa: E501
return ( return (

View File

@ -74,6 +74,7 @@ def sync(
client: Client, client: Client,
) -> Optional[Union[ExtendedUser, Error]]: ) -> Optional[Union[ExtendedUser, Error]]:
"""Get the user information for the authenticated user. """Get the user information for the authenticated user.
Alternatively, you can also use the `/users-extended/me` endpoint.""" # noqa: E501 Alternatively, you can also use the `/users-extended/me` endpoint.""" # noqa: E501
return sync_detailed( return sync_detailed(
@ -100,6 +101,7 @@ async def asyncio(
client: Client, client: Client,
) -> Optional[Union[ExtendedUser, Error]]: ) -> Optional[Union[ExtendedUser, Error]]:
"""Get the user information for the authenticated user. """Get the user information for the authenticated user.
Alternatively, you can also use the `/users-extended/me` endpoint.""" # noqa: E501 Alternatively, you can also use the `/users-extended/me` endpoint.""" # noqa: E501
return ( return (

View File

@ -58,6 +58,7 @@ from .curve_type import CurveType
from .customer import Customer from .customer import Customer
from .customer_balance import CustomerBalance from .customer_balance import CustomerBalance
from .cut_type import CutType from .cut_type import CutType
from .default_camera_center_to_selection import DefaultCameraCenterToSelection
from .default_camera_focus_on import DefaultCameraFocusOn from .default_camera_focus_on import DefaultCameraFocusOn
from .default_camera_get_settings import DefaultCameraGetSettings from .default_camera_get_settings import DefaultCameraGetSettings
from .default_camera_look_at import DefaultCameraLookAt from .default_camera_look_at import DefaultCameraLookAt
@ -72,14 +73,14 @@ from .device_access_token_uuid import DeviceAccessTokenUuid
from .device_auth_request_form import DeviceAuthRequestForm from .device_auth_request_form import DeviceAuthRequestForm
from .device_auth_verify_params import DeviceAuthVerifyParams from .device_auth_verify_params import DeviceAuthVerifyParams
from .direction import Direction from .direction import Direction
from .disable_dry_run import DisableDryRun
from .discount import Discount from .discount import Discount
from .discount_code import DiscountCode from .discount_code import DiscountCode
from .distance_type import DistanceType from .distance_type import DistanceType
from .edge_lines_visible import EdgeLinesVisible from .edge_lines_visible import EdgeLinesVisible
from .edit_mode_enter import EditModeEnter
from .edit_mode_exit import EditModeExit
from .email_authentication_form import EmailAuthenticationForm from .email_authentication_form import EmailAuthenticationForm
from .empty import Empty from .empty import Empty
from .enable_dry_run import EnableDryRun
from .enable_sketch_mode import EnableSketchMode from .enable_sketch_mode import EnableSketchMode
from .entity_circular_pattern import EntityCircularPattern from .entity_circular_pattern import EntityCircularPattern
from .entity_fade import EntityFade from .entity_fade import EntityFade

View File

@ -0,0 +1,7 @@
from pydantic import BaseModel, ConfigDict
class DefaultCameraCenterToSelection(BaseModel):
"""The response from the `DefaultCameraCenterToSelection` endpoint."""
model_config = ConfigDict(protected_namespaces=())

View File

@ -1,7 +1,7 @@
from pydantic import BaseModel, ConfigDict from pydantic import BaseModel, ConfigDict
class EditModeEnter(BaseModel): class DisableDryRun(BaseModel):
"""The response from the `EditModeEnter` endpoint.""" """The response from the `DisableDryRun` endpoint."""
model_config = ConfigDict(protected_namespaces=()) model_config = ConfigDict(protected_namespaces=())

View File

@ -1,7 +1,7 @@
from pydantic import BaseModel, ConfigDict from pydantic import BaseModel, ConfigDict
class EditModeExit(BaseModel): class EnableDryRun(BaseModel):
"""The response from the `EditModeExit` endpoint.""" """The response from the `EnableDryRun` endpoint."""
model_config = ConfigDict(protected_namespaces=()) model_config = ConfigDict(protected_namespaces=())

View File

@ -10,7 +10,7 @@ from ..models.uuid import Uuid
class ExtendedUser(BaseModel): class ExtendedUser(BaseModel):
"""Extended user information. """Extended user information.
This is mostly used for internal purposes. It returns a mapping of the user's information, including that of our third party services we use for users: MailChimp | Stripe""" This is mostly used for internal purposes. It returns a mapping of the user's information, including that of our third party services we use for users: Stripe"""
block: Optional[BlockReason] = None block: Optional[BlockReason] = None
@ -40,8 +40,6 @@ class ExtendedUser(BaseModel):
last_name: Optional[str] = None last_name: Optional[str] = None
mailchimp_id: Optional[str] = None
name: Optional[str] = None name: Optional[str] = None
phone: str = "" phone: str = ""

View File

@ -423,16 +423,6 @@ class OptionEntityMirrorAcrossEdge(BaseModel):
model_config = ConfigDict(protected_namespaces=()) model_config = ConfigDict(protected_namespaces=())
class OptionEditModeEnter(BaseModel):
"""Enter edit mode"""
target: str
type: Literal["edit_mode_enter"] = "edit_mode_enter"
model_config = ConfigDict(protected_namespaces=())
class OptionSelectWithPoint(BaseModel): class OptionSelectWithPoint(BaseModel):
"""Modifies the selection by simulating a \"mouse click\" at the given x,y window coordinate Returns ID of whatever was selected.""" """Modifies the selection by simulating a \"mouse click\" at the given x,y window coordinate Returns ID of whatever was selected."""
@ -885,6 +875,22 @@ class OptionEnableSketchMode(BaseModel):
model_config = ConfigDict(protected_namespaces=()) model_config = ConfigDict(protected_namespaces=())
class OptionEnableDryRun(BaseModel):
"""Sets whether or not changes to the scene or its objects will be done as a \"dry run\" In a dry run, successful commands won't actually change the model. This is useful for catching errors before actually making the change."""
type: Literal["enable_dry_run"] = "enable_dry_run"
model_config = ConfigDict(protected_namespaces=())
class OptionDisableDryRun(BaseModel):
"""Sets whether or not changes to the scene or its objects will be done as a \"dry run\" In a dry run, successful commands won't actually change the model. This is useful for catching errors before actually making the change."""
type: Literal["disable_dry_run"] = "disable_dry_run"
model_config = ConfigDict(protected_namespaces=())
class OptionSetBackgroundColor(BaseModel): class OptionSetBackgroundColor(BaseModel):
"""Set the background color of the scene.""" """Set the background color of the scene."""
@ -1229,6 +1235,16 @@ class OptionDefaultCameraSetPerspective(BaseModel):
model_config = ConfigDict(protected_namespaces=()) model_config = ConfigDict(protected_namespaces=())
class OptionDefaultCameraCenterToSelection(BaseModel):
"""Updates the camera to center to the center of the current selection (or the origin if nothing is selected)"""
type: Literal["default_camera_center_to_selection"] = (
"default_camera_center_to_selection"
)
model_config = ConfigDict(protected_namespaces=())
class OptionZoomToFit(BaseModel): class OptionZoomToFit(BaseModel):
"""Fit the view to the specified object(s).""" """Fit the view to the specified object(s)."""
@ -1265,14 +1281,6 @@ class OptionSolid3DGetExtrusionFaceInfo(BaseModel):
model_config = ConfigDict(protected_namespaces=()) model_config = ConfigDict(protected_namespaces=())
class OptionEditModeExit(BaseModel):
"""Exit edit mode"""
type: Literal["edit_mode_exit"] = "edit_mode_exit"
model_config = ConfigDict(protected_namespaces=())
class OptionSelectClear(BaseModel): class OptionSelectClear(BaseModel):
"""Clear the selection""" """Clear the selection"""
@ -1329,7 +1337,6 @@ ModelingCmd = RootModel[
OptionEntityMakeHelix, OptionEntityMakeHelix,
OptionEntityMirror, OptionEntityMirror,
OptionEntityMirrorAcrossEdge, OptionEntityMirrorAcrossEdge,
OptionEditModeEnter,
OptionSelectWithPoint, OptionSelectWithPoint,
OptionSelectAdd, OptionSelectAdd,
OptionSelectRemove, OptionSelectRemove,
@ -1367,6 +1374,8 @@ ModelingCmd = RootModel[
OptionGetSketchModePlane, OptionGetSketchModePlane,
OptionCurveSetConstraint, OptionCurveSetConstraint,
OptionEnableSketchMode, OptionEnableSketchMode,
OptionEnableDryRun,
OptionDisableDryRun,
OptionSetBackgroundColor, OptionSetBackgroundColor,
OptionSetCurrentToolProperties, OptionSetCurrentToolProperties,
OptionSetDefaultSystemProperties, OptionSetDefaultSystemProperties,
@ -1398,10 +1407,10 @@ ModelingCmd = RootModel[
OptionSetSelectionFilter, OptionSetSelectionFilter,
OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetOrthographic,
OptionDefaultCameraSetPerspective, OptionDefaultCameraSetPerspective,
OptionDefaultCameraCenterToSelection,
OptionZoomToFit, OptionZoomToFit,
OptionViewIsometric, OptionViewIsometric,
OptionSolid3DGetExtrusionFaceInfo, OptionSolid3DGetExtrusionFaceInfo,
OptionEditModeExit,
OptionSelectClear, OptionSelectClear,
OptionSelectGet, OptionSelectGet,
OptionGetNumObjects, OptionGetNumObjects,

View File

@ -12,6 +12,7 @@ from ..models.curve_get_control_points import CurveGetControlPoints
from ..models.curve_get_end_points import CurveGetEndPoints from ..models.curve_get_end_points import CurveGetEndPoints
from ..models.curve_get_type import CurveGetType from ..models.curve_get_type import CurveGetType
from ..models.curve_set_constraint import CurveSetConstraint from ..models.curve_set_constraint import CurveSetConstraint
from ..models.default_camera_center_to_selection import DefaultCameraCenterToSelection
from ..models.default_camera_focus_on import DefaultCameraFocusOn from ..models.default_camera_focus_on import DefaultCameraFocusOn
from ..models.default_camera_get_settings import DefaultCameraGetSettings from ..models.default_camera_get_settings import DefaultCameraGetSettings
from ..models.default_camera_look_at import DefaultCameraLookAt from ..models.default_camera_look_at import DefaultCameraLookAt
@ -22,9 +23,9 @@ from ..models.default_camera_set_orthographic import DefaultCameraSetOrthographi
from ..models.default_camera_set_perspective import DefaultCameraSetPerspective from ..models.default_camera_set_perspective import DefaultCameraSetPerspective
from ..models.default_camera_zoom import DefaultCameraZoom from ..models.default_camera_zoom import DefaultCameraZoom
from ..models.density import Density from ..models.density import Density
from ..models.disable_dry_run import DisableDryRun
from ..models.edge_lines_visible import EdgeLinesVisible from ..models.edge_lines_visible import EdgeLinesVisible
from ..models.edit_mode_enter import EditModeEnter from ..models.enable_dry_run import EnableDryRun
from ..models.edit_mode_exit import EditModeExit
from ..models.enable_sketch_mode import EnableSketchMode from ..models.enable_sketch_mode import EnableSketchMode
from ..models.entity_circular_pattern import EntityCircularPattern from ..models.entity_circular_pattern import EntityCircularPattern
from ..models.entity_fade import EntityFade from ..models.entity_fade import EntityFade
@ -255,16 +256,6 @@ class OptionEntityMirrorAcrossEdge(BaseModel):
model_config = ConfigDict(protected_namespaces=()) model_config = ConfigDict(protected_namespaces=())
class OptionEditModeEnter(BaseModel):
""""""
data: EditModeEnter
type: Literal["edit_mode_enter"] = "edit_mode_enter"
model_config = ConfigDict(protected_namespaces=())
class OptionSelectAdd(BaseModel): class OptionSelectAdd(BaseModel):
"""""" """"""
@ -475,6 +466,26 @@ class OptionSketchModeDisable(BaseModel):
model_config = ConfigDict(protected_namespaces=()) model_config = ConfigDict(protected_namespaces=())
class OptionEnableDryRun(BaseModel):
""""""
data: EnableDryRun
type: Literal["enable_dry_run"] = "enable_dry_run"
model_config = ConfigDict(protected_namespaces=())
class OptionDisableDryRun(BaseModel):
""""""
data: DisableDryRun
type: Literal["disable_dry_run"] = "disable_dry_run"
model_config = ConfigDict(protected_namespaces=())
class OptionCurveSetConstraint(BaseModel): class OptionCurveSetConstraint(BaseModel):
"""""" """"""
@ -635,12 +646,14 @@ class OptionDefaultCameraSetPerspective(BaseModel):
model_config = ConfigDict(protected_namespaces=()) model_config = ConfigDict(protected_namespaces=())
class OptionEditModeExit(BaseModel): class OptionDefaultCameraCenterToSelection(BaseModel):
"""""" """"""
data: EditModeExit data: DefaultCameraCenterToSelection
type: Literal["edit_mode_exit"] = "edit_mode_exit" type: Literal["default_camera_center_to_selection"] = (
"default_camera_center_to_selection"
)
model_config = ConfigDict(protected_namespaces=()) model_config = ConfigDict(protected_namespaces=())
@ -1224,7 +1237,6 @@ OkModelingCmdResponse = RootModel[
OptionEntityMakeHelix, OptionEntityMakeHelix,
OptionEntityMirror, OptionEntityMirror,
OptionEntityMirrorAcrossEdge, OptionEntityMirrorAcrossEdge,
OptionEditModeEnter,
OptionSelectAdd, OptionSelectAdd,
OptionSelectRemove, OptionSelectRemove,
OptionSceneClearAll, OptionSceneClearAll,
@ -1246,6 +1258,8 @@ OkModelingCmdResponse = RootModel[
OptionSetTool, OptionSetTool,
OptionMouseMove, OptionMouseMove,
OptionSketchModeDisable, OptionSketchModeDisable,
OptionEnableDryRun,
OptionDisableDryRun,
OptionCurveSetConstraint, OptionCurveSetConstraint,
OptionEnableSketchMode, OptionEnableSketchMode,
OptionSetBackgroundColor, OptionSetBackgroundColor,
@ -1262,7 +1276,7 @@ OkModelingCmdResponse = RootModel[
OptionSetSelectionFilter, OptionSetSelectionFilter,
OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetOrthographic,
OptionDefaultCameraSetPerspective, OptionDefaultCameraSetPerspective,
OptionEditModeExit, OptionDefaultCameraCenterToSelection,
OptionSelectClear, OptionSelectClear,
OptionExport, OptionExport,
OptionSelectWithPoint, OptionSelectWithPoint,

308
spec.json
View File

@ -84,7 +84,7 @@
"hidden" "hidden"
], ],
"summary": "Get the metadata about our currently running server.", "summary": "Get the metadata about our currently running server.",
"description": "This includes information on any of our other distributed systems it is connected to.\nYou must be a Zoo employee to perform this request.", "description": "This includes information on any of our other distributed systems it is connected to.\n\nYou must be a Zoo employee to perform this request.",
"operationId": "get_metadata", "operationId": "get_metadata",
"responses": { "responses": {
"200": { "200": {
@ -224,7 +224,7 @@
"ml" "ml"
], ],
"summary": "Generate a CAD model from text.", "summary": "Generate a CAD model from text.",
"description": "Because our source of truth for the resulting model is a STEP file, you will always have STEP file contents when you list your generated models. Any other formats you request here will also be returned when you list your generated models.\nThis operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.\nOne thing to note, if you hit the cache, this endpoint will return right away. So you only have to wait if the status is not `Completed` or `Failed`.", "description": "Because our source of truth for the resulting model is a STEP file, you will always have STEP file contents when you list your generated models. Any other formats you request here will also be returned when you list your generated models.\n\nThis operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.\n\nOne thing to note, if you hit the cache, this endpoint will return right away. So you only have to wait if the status is not `Completed` or `Failed`.",
"operationId": "create_text_to_cad", "operationId": "create_text_to_cad",
"parameters": [ "parameters": [
{ {
@ -586,7 +586,7 @@
"hidden" "hidden"
], ],
"summary": "Get details of an API call.", "summary": "Get details of an API call.",
"description": "This endpoint requires authentication by any Zoo user. It returns details of the requested API call for the user.\nIf the user is not authenticated to view the specified API call, then it is not returned.\nOnly Zoo employees can view API calls for other users.", "description": "This endpoint requires authentication by any Zoo user. It returns details of the requested API call for the user.\n\nIf the user is not authenticated to view the specified API call, then it is not returned.\n\nOnly Zoo employees can view API calls for other users.",
"operationId": "get_api_call", "operationId": "get_api_call",
"parameters": [ "parameters": [
{ {
@ -669,7 +669,7 @@
"hidden" "hidden"
], ],
"summary": "Listen for callbacks to GitHub app authentication.", "summary": "Listen for callbacks to GitHub app authentication.",
"description": "This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos.\nThe user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.", "description": "This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos.\n\nThe user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.",
"operationId": "apps_github_callback", "operationId": "apps_github_callback",
"requestBody": { "requestBody": {
"content": { "content": {
@ -741,7 +741,7 @@
"hidden" "hidden"
], ],
"summary": "Get the consent URL for GitHub app authentication.", "summary": "Get the consent URL for GitHub app authentication.",
"description": "This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos.\nThe user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.", "description": "This is different than OAuth 2.0 authentication for users. This endpoint grants access for Zoo to access user's repos.\n\nThe user doesn't need Zoo OAuth authorization for this endpoint, this is purely for the GitHub permissions to access repos.",
"operationId": "apps_github_consent", "operationId": "apps_github_consent",
"responses": { "responses": {
"200": { "200": {
@ -888,7 +888,7 @@
"operationId": "options_apps_github_webhook", "operationId": "options_apps_github_webhook",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -948,7 +948,7 @@
"hidden" "hidden"
], ],
"summary": "List async operations.", "summary": "List async operations.",
"description": "For async file conversion operations, this endpoint does not return the contents of converted files (`output`). To get the contents use the `/async/operations/{id}` endpoint.\nThis endpoint requires authentication by a Zoo employee.", "description": "For async file conversion operations, this endpoint does not return the contents of converted files (`output`). To get the contents use the `/async/operations/{id}` endpoint.\n\nThis endpoint requires authentication by a Zoo employee.",
"operationId": "list_async_operations", "operationId": "list_async_operations",
"parameters": [ "parameters": [
{ {
@ -1058,7 +1058,7 @@
"api-calls" "api-calls"
], ],
"summary": "Get an async operation.", "summary": "Get an async operation.",
"description": "Get the status and output of an async operation.\nThis endpoint requires authentication by any Zoo user. It returns details of the requested async operation for the user.\nIf the user is not authenticated to view the specified async operation, then it is not returned.\nOnly Zoo employees with the proper access can view async operations for other users.", "description": "Get the status and output of an async operation.\n\nThis endpoint requires authentication by any Zoo user. It returns details of the requested async operation for the user.\n\nIf the user is not authenticated to view the specified async operation, then it is not returned.\n\nOnly Zoo employees with the proper access can view async operations for other users.",
"operationId": "get_async_operation", "operationId": "get_async_operation",
"parameters": [ "parameters": [
{ {
@ -1221,7 +1221,7 @@
"operationId": "options_auth_email", "operationId": "options_auth_email",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -1700,7 +1700,7 @@
"operationId": "options_create_debug_uploads", "operationId": "options_create_debug_uploads",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -1836,7 +1836,7 @@
"operationId": "options_create_event", "operationId": "options_create_event",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -1895,7 +1895,7 @@
"file" "file"
], ],
"summary": "Get CAD file center of mass.", "summary": "Get CAD file center of mass.",
"description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\nThis endpoint returns the cartesian coordinate in world space measure units.\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\nGet the center of mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.", "description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\n\nThis endpoint returns the cartesian coordinate in world space measure units.\n\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\n\nGet the center of mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\n\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.",
"operationId": "create_file_center_of_mass", "operationId": "create_file_center_of_mass",
"parameters": [ "parameters": [
{ {
@ -1997,7 +1997,7 @@
"operationId": "options_file_center_of_mass", "operationId": "options_file_center_of_mass",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -2056,7 +2056,7 @@
"file" "file"
], ],
"summary": "Convert CAD file with defaults.", "summary": "Convert CAD file with defaults.",
"description": "If you wish to specify the conversion options, use the `/file/conversion` endpoint instead.\nConvert a CAD file from one format to another. If the file being converted is larger than 25MB, it will be performed asynchronously.\nIf the conversion is performed synchronously, the contents of the converted file (`output`) will be returned as a base64 encoded string.\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.", "description": "If you wish to specify the conversion options, use the `/file/conversion` endpoint instead.\n\nConvert a CAD file from one format to another. If the file being converted is larger than 25MB, it will be performed asynchronously.\n\nIf the conversion is performed synchronously, the contents of the converted file (`output`) will be returned as a base64 encoded string.\n\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.",
"operationId": "create_file_conversion", "operationId": "create_file_conversion",
"parameters": [ "parameters": [
{ {
@ -2238,7 +2238,7 @@
"file" "file"
], ],
"summary": "Get CAD file density.", "summary": "Get CAD file density.",
"description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\nThis endpoint assumes if you are giving a material mass in a specific mass units, we return a density in mass unit per cubic measure unit.\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\nGet the density of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.", "description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\n\nThis endpoint assumes if you are giving a material mass in a specific mass units, we return a density in mass unit per cubic measure unit.\n\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\n\nGet the density of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\n\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.",
"operationId": "create_file_density", "operationId": "create_file_density",
"parameters": [ "parameters": [
{ {
@ -2358,7 +2358,7 @@
"operationId": "options_file_density", "operationId": "options_file_density",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -2590,7 +2590,7 @@
"file" "file"
], ],
"summary": "Get CAD file mass.", "summary": "Get CAD file mass.",
"description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\nThis endpoint assumes if you are giving a material density in a specific mass unit per cubic measure unit, we return a mass in mass units. The same mass units as passed in the material density.\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\nGet the mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.", "description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\n\nThis endpoint assumes if you are giving a material density in a specific mass unit per cubic measure unit, we return a mass in mass units. The same mass units as passed in the material density.\n\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\n\nGet the mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\n\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.",
"operationId": "create_file_mass", "operationId": "create_file_mass",
"parameters": [ "parameters": [
{ {
@ -2710,7 +2710,7 @@
"operationId": "options_file_mass", "operationId": "options_file_mass",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -2769,7 +2769,7 @@
"file" "file"
], ],
"summary": "Get CAD file surface area.", "summary": "Get CAD file surface area.",
"description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\nThis endpoint returns the square measure units.\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\nGet the surface area of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.", "description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\n\nThis endpoint returns the square measure units.\n\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\n\nGet the surface area of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\n\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.",
"operationId": "create_file_surface_area", "operationId": "create_file_surface_area",
"parameters": [ "parameters": [
{ {
@ -2871,7 +2871,7 @@
"operationId": "options_file_surface_area", "operationId": "options_file_surface_area",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -2930,7 +2930,7 @@
"file" "file"
], ],
"summary": "Get CAD file volume.", "summary": "Get CAD file volume.",
"description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\nThis endpoint returns the cubic measure units.\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\nGet the volume of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.", "description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\n\nThis endpoint returns the cubic measure units.\n\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\n\nGet the volume of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\n\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.",
"operationId": "create_file_volume", "operationId": "create_file_volume",
"parameters": [ "parameters": [
{ {
@ -3032,7 +3032,7 @@
"operationId": "options_file_volume", "operationId": "options_file_volume",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -3092,7 +3092,7 @@
"hidden" "hidden"
], ],
"summary": "Get an API token for a user by their discord id.", "summary": "Get an API token for a user by their discord id.",
"description": "This endpoint allows us to run API calls from our discord bot on behalf of a user. The user must have a discord account linked to their Zoo Account via oauth2 for this to work.\nYou must be a Zoo employee to use this endpoint.", "description": "This endpoint allows us to run API calls from our discord bot on behalf of a user. The user must have a discord account linked to their Zoo Account via oauth2 for this to work.\n\nYou must be a Zoo employee to use this endpoint.",
"operationId": "internal_get_api_token_for_discord_user", "operationId": "internal_get_api_token_for_discord_user",
"parameters": [ "parameters": [
{ {
@ -3238,7 +3238,7 @@
"operationId": "options_logout", "operationId": "options_logout",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -3298,7 +3298,7 @@
"hidden" "hidden"
], ],
"summary": "List all ML prompts.", "summary": "List all ML prompts.",
"description": "For text-to-cad prompts, this will always return the STEP file contents as well as the format the user originally requested.\nThis endpoint requires authentication by a Zoo employee.\nThe ML prompts are returned in order of creation, with the most recently created ML prompts first.", "description": "For text-to-cad prompts, this will always return the STEP file contents as well as the format the user originally requested.\n\nThis endpoint requires authentication by a Zoo employee.\n\nThe ML prompts are returned in order of creation, with the most recently created ML prompts first.",
"operationId": "list_ml_prompts", "operationId": "list_ml_prompts",
"parameters": [ "parameters": [
{ {
@ -3565,7 +3565,7 @@
"operationId": "options_kcl_code_completions", "operationId": "options_kcl_code_completions",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -3707,7 +3707,7 @@
"operationId": "options_text_to_cad_iteration", "operationId": "options_text_to_cad_iteration",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -3799,7 +3799,7 @@
"operationId": "options_device_auth_request", "operationId": "options_device_auth_request",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -3934,7 +3934,7 @@
"operationId": "options_device_auth_confirm", "operationId": "options_device_auth_confirm",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -4026,7 +4026,7 @@
"operationId": "options_device_access_token", "operationId": "options_device_access_token",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -4546,7 +4546,7 @@
"operationId": "options_oauth2_token_revoke", "operationId": "options_oauth2_token_revoke",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -4830,7 +4830,7 @@
"hidden" "hidden"
], ],
"summary": "Delete an org.", "summary": "Delete an org.",
"description": "In order to delete an org, you must first delete all of its members, except yourself.\nYou must also have no outstanding invoices or unpaid balances.\nThis endpoint requires authentication by an org admin. It deletes the authenticated user's org.", "description": "In order to delete an org, you must first delete all of its members, except yourself.\n\nYou must also have no outstanding invoices or unpaid balances.\n\nThis endpoint requires authentication by an org admin. It deletes the authenticated user's org.",
"operationId": "delete_org", "operationId": "delete_org",
"responses": { "responses": {
"204": { "204": {
@ -4895,7 +4895,7 @@
"operationId": "options_org", "operationId": "options_org",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -4954,7 +4954,7 @@
"api-calls" "api-calls"
], ],
"summary": "List API calls for your org.", "summary": "List API calls for your org.",
"description": "This includes all API calls that were made by users in the org.\nThis endpoint requires authentication by an org admin. It returns the API calls for the authenticated user's org.\nThe API calls are returned in order of creation, with the most recently created API calls first.", "description": "This includes all API calls that were made by users in the org.\n\nThis endpoint requires authentication by an org admin. It returns the API calls for the authenticated user's org.\n\nThe API calls are returned in order of creation, with the most recently created API calls first.",
"operationId": "org_list_api_calls", "operationId": "org_list_api_calls",
"parameters": [ "parameters": [
{ {
@ -5246,7 +5246,7 @@
"orgs" "orgs"
], ],
"summary": "Add a member to your org.", "summary": "Add a member to your org.",
"description": "If the user exists, this will add them to your org. If they do not exist, this will create a new user and add them to your org.\nIn both cases the user gets an email that they have been added to the org.\nIf the user is already in your org, this will return a 400 and a message.\nIf the user is already in a different org, this will return a 400 and a message.\nThis endpoint requires authentication by an org admin. It adds the specified member to the authenticated user's org.", "description": "If the user exists, this will add them to your org. If they do not exist, this will create a new user and add them to your org.\n\nIn both cases the user gets an email that they have been added to the org.\n\nIf the user is already in your org, this will return a 400 and a message.\n\nIf the user is already in a different org, this will return a 400 and a message.\n\nThis endpoint requires authentication by an org admin. It adds the specified member to the authenticated user's org.",
"operationId": "create_org_member", "operationId": "create_org_member",
"requestBody": { "requestBody": {
"content": { "content": {
@ -5328,7 +5328,7 @@
"operationId": "options_org_member", "operationId": "options_org_member",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -5701,7 +5701,7 @@
"payments" "payments"
], ],
"summary": "Get payment info about your org.", "summary": "Get payment info about your org.",
"description": "This includes billing address, phone, and name.\nThis endpoint requires authentication by an org admin. It gets the payment information for the authenticated user's org.", "description": "This includes billing address, phone, and name.\n\nThis endpoint requires authentication by an org admin. It gets the payment information for the authenticated user's org.",
"operationId": "get_payment_information_for_org", "operationId": "get_payment_information_for_org",
"responses": { "responses": {
"200": { "200": {
@ -5769,7 +5769,7 @@
"payments" "payments"
], ],
"summary": "Update payment info for your org.", "summary": "Update payment info for your org.",
"description": "This includes billing address, phone, and name.\nThis endpoint requires authentication by an org admin. It updates the payment information for the authenticated user's org.", "description": "This includes billing address, phone, and name.\n\nThis endpoint requires authentication by an org admin. It updates the payment information for the authenticated user's org.",
"operationId": "update_payment_information_for_org", "operationId": "update_payment_information_for_org",
"requestBody": { "requestBody": {
"content": { "content": {
@ -5847,7 +5847,7 @@
"payments" "payments"
], ],
"summary": "Create payment info for your org.", "summary": "Create payment info for your org.",
"description": "This includes billing address, phone, and name.\nThis endpoint requires authentication by the org admin. It creates the payment information for the authenticated user's org.", "description": "This includes billing address, phone, and name.\n\nThis endpoint requires authentication by the org admin. It creates the payment information for the authenticated user's org.",
"operationId": "create_payment_information_for_org", "operationId": "create_payment_information_for_org",
"requestBody": { "requestBody": {
"content": { "content": {
@ -5925,7 +5925,7 @@
"payments" "payments"
], ],
"summary": "Delete payment info for your org.", "summary": "Delete payment info for your org.",
"description": "This includes billing address, phone, and name.\nThis endpoint requires authentication by an org admin. It deletes the payment information for the authenticated user's org.", "description": "This includes billing address, phone, and name.\n\nThis endpoint requires authentication by an org admin. It deletes the payment information for the authenticated user's org.",
"operationId": "delete_payment_information_for_org", "operationId": "delete_payment_information_for_org",
"responses": { "responses": {
"204": { "204": {
@ -5990,7 +5990,7 @@
"operationId": "options_payment_information_for_org", "operationId": "options_payment_information_for_org",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -6192,7 +6192,7 @@
"operationId": "options_payment_intent_for_org", "operationId": "options_payment_intent_for_org",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -6774,7 +6774,7 @@
"operationId": "options_org_subscription", "operationId": "options_org_subscription",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -7047,7 +7047,7 @@
"operationId": "options_org_privacy_settings", "operationId": "options_org_privacy_settings",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -7395,7 +7395,7 @@
"operationId": "options_org_saml_idp", "operationId": "options_org_saml_idp",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -7454,7 +7454,7 @@
"service-accounts" "service-accounts"
], ],
"summary": "List service accounts for your org.", "summary": "List service accounts for your org.",
"description": "This endpoint requires authentication by an org admin. It returns the service accounts for the organization.\nThe service accounts are returned in order of creation, with the most recently created service accounts first.", "description": "This endpoint requires authentication by an org admin. It returns the service accounts for the organization.\n\nThe service accounts are returned in order of creation, with the most recently created service accounts first.",
"operationId": "list_service_accounts_for_org", "operationId": "list_service_accounts_for_org",
"parameters": [ "parameters": [
{ {
@ -7637,7 +7637,7 @@
"operationId": "options_create_service_account_for_org", "operationId": "options_create_service_account_for_org",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -7775,7 +7775,7 @@
"service-accounts" "service-accounts"
], ],
"summary": "Delete an service account for your org.", "summary": "Delete an service account for your org.",
"description": "This endpoint requires authentication by an org admin. It deletes the requested service account for the organization.\nThis endpoint does not actually delete the service account from the database. It merely marks the token as invalid. We still want to keep the service account in the database for historical purposes.", "description": "This endpoint requires authentication by an org admin. It deletes the requested service account for the organization.\n\nThis endpoint does not actually delete the service account from the database. It merely marks the token as invalid. We still want to keep the service account in the database for historical purposes.",
"operationId": "delete_service_account_for_org", "operationId": "delete_service_account_for_org",
"parameters": [ "parameters": [
{ {
@ -8744,7 +8744,7 @@
"operationId": "options_store_coupon", "operationId": "options_store_coupon",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -10103,7 +10103,7 @@
"users" "users"
], ],
"summary": "Get your user.", "summary": "Get your user.",
"description": "Get the user information for the authenticated user.\nAlternatively, you can also use the `/users/me` endpoint.", "description": "Get the user information for the authenticated user.\n\nAlternatively, you can also use the `/users/me` endpoint.",
"operationId": "get_user_self", "operationId": "get_user_self",
"responses": { "responses": {
"200": { "200": {
@ -10249,7 +10249,7 @@
"users" "users"
], ],
"summary": "Delete your user.", "summary": "Delete your user.",
"description": "This endpoint requires authentication by any Zoo user. It deletes the authenticated user from Zoo's database.\nThis call will only succeed if all invoices associated with the user have been paid in full and there is no outstanding balance.", "description": "This endpoint requires authentication by any Zoo user. It deletes the authenticated user from Zoo's database.\n\nThis call will only succeed if all invoices associated with the user have been paid in full and there is no outstanding balance.",
"operationId": "delete_user_self", "operationId": "delete_user_self",
"responses": { "responses": {
"204": { "204": {
@ -10314,7 +10314,7 @@
"operationId": "options_user_self", "operationId": "options_user_self",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -10373,7 +10373,7 @@
"api-calls" "api-calls"
], ],
"summary": "List API calls for your user.", "summary": "List API calls for your user.",
"description": "This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user.\nThe API calls are returned in order of creation, with the most recently created API calls first.", "description": "This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user.\n\nThe API calls are returned in order of creation, with the most recently created API calls first.",
"operationId": "user_list_api_calls", "operationId": "user_list_api_calls",
"parameters": [ "parameters": [
{ {
@ -10557,7 +10557,7 @@
"api-tokens" "api-tokens"
], ],
"summary": "List API tokens for your user.", "summary": "List API tokens for your user.",
"description": "This endpoint requires authentication by any Zoo user. It returns the API tokens for the authenticated user.\nThe API tokens are returned in order of creation, with the most recently created API tokens first.", "description": "This endpoint requires authentication by any Zoo user. It returns the API tokens for the authenticated user.\n\nThe API tokens are returned in order of creation, with the most recently created API tokens first.",
"operationId": "list_api_tokens_for_user", "operationId": "list_api_tokens_for_user",
"parameters": [ "parameters": [
{ {
@ -10740,7 +10740,7 @@
"operationId": "options_create_api_token_for_user", "operationId": "options_create_api_token_for_user",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -10878,7 +10878,7 @@
"api-tokens" "api-tokens"
], ],
"summary": "Delete an API token for your user.", "summary": "Delete an API token for your user.",
"description": "This endpoint requires authentication by any Zoo user. It deletes the requested API token for the user.\nThis endpoint does not actually delete the API token from the database. It merely marks the token as invalid. We still want to keep the token in the database for historical purposes.", "description": "This endpoint requires authentication by any Zoo user. It deletes the requested API token for the user.\n\nThis endpoint does not actually delete the API token from the database. It merely marks the token as invalid. We still want to keep the token in the database for historical purposes.",
"operationId": "delete_api_token_for_user", "operationId": "delete_api_token_for_user",
"parameters": [ "parameters": [
{ {
@ -11024,7 +11024,7 @@
"users" "users"
], ],
"summary": "Get extended information about your user.", "summary": "Get extended information about your user.",
"description": "Get the user information for the authenticated user.\nAlternatively, you can also use the `/users-extended/me` endpoint.", "description": "Get the user information for the authenticated user.\n\nAlternatively, you can also use the `/users-extended/me` endpoint.",
"operationId": "get_user_self_extended", "operationId": "get_user_self_extended",
"responses": { "responses": {
"200": { "200": {
@ -11094,7 +11094,7 @@
"users" "users"
], ],
"summary": "Get the OAuth2 providers for your user.", "summary": "Get the OAuth2 providers for your user.",
"description": "If this returns an empty array, then the user has not connected any OAuth2 providers and uses raw email authentication.\nThis endpoint requires authentication by any Zoo user. It gets the providers for the authenticated user.", "description": "If this returns an empty array, then the user has not connected any OAuth2 providers and uses raw email authentication.\n\nThis endpoint requires authentication by any Zoo user. It gets the providers for the authenticated user.",
"operationId": "get_oauth2_providers_for_user", "operationId": "get_oauth2_providers_for_user",
"responses": { "responses": {
"200": { "200": {
@ -11240,7 +11240,7 @@
"users" "users"
], ],
"summary": "Get a user's org.", "summary": "Get a user's org.",
"description": "This endpoint requires authentication by any Zoo user. It gets the authenticated user's org.\nIf the user is not a member of an org, this endpoint will return a 404.", "description": "This endpoint requires authentication by any Zoo user. It gets the authenticated user's org.\n\nIf the user is not a member of an org, this endpoint will return a 404.",
"operationId": "get_user_org", "operationId": "get_user_org",
"responses": { "responses": {
"200": { "200": {
@ -11310,7 +11310,7 @@
"payments" "payments"
], ],
"summary": "Get payment info about your user.", "summary": "Get payment info about your user.",
"description": "This includes billing address, phone, and name.\nThis endpoint requires authentication by any Zoo user. It gets the payment information for the authenticated user.", "description": "This includes billing address, phone, and name.\n\nThis endpoint requires authentication by any Zoo user. It gets the payment information for the authenticated user.",
"operationId": "get_payment_information_for_user", "operationId": "get_payment_information_for_user",
"responses": { "responses": {
"200": { "200": {
@ -11378,7 +11378,7 @@
"payments" "payments"
], ],
"summary": "Update payment info for your user.", "summary": "Update payment info for your user.",
"description": "This includes billing address, phone, and name.\nThis endpoint requires authentication by any Zoo user. It updates the payment information for the authenticated user.", "description": "This includes billing address, phone, and name.\n\nThis endpoint requires authentication by any Zoo user. It updates the payment information for the authenticated user.",
"operationId": "update_payment_information_for_user", "operationId": "update_payment_information_for_user",
"requestBody": { "requestBody": {
"content": { "content": {
@ -11456,7 +11456,7 @@
"payments" "payments"
], ],
"summary": "Create payment info for your user.", "summary": "Create payment info for your user.",
"description": "This includes billing address, phone, and name.\nThis endpoint requires authentication by any Zoo user. It creates the payment information for the authenticated user.", "description": "This includes billing address, phone, and name.\n\nThis endpoint requires authentication by any Zoo user. It creates the payment information for the authenticated user.",
"operationId": "create_payment_information_for_user", "operationId": "create_payment_information_for_user",
"requestBody": { "requestBody": {
"content": { "content": {
@ -11534,7 +11534,7 @@
"payments" "payments"
], ],
"summary": "Delete payment info for your user.", "summary": "Delete payment info for your user.",
"description": "This includes billing address, phone, and name.\nThis endpoint requires authentication by any Zoo user. It deletes the payment information for the authenticated user.", "description": "This includes billing address, phone, and name.\n\nThis endpoint requires authentication by any Zoo user. It deletes the payment information for the authenticated user.",
"operationId": "delete_payment_information_for_user", "operationId": "delete_payment_information_for_user",
"responses": { "responses": {
"204": { "204": {
@ -11599,7 +11599,7 @@
"operationId": "options_payment_information_for_user", "operationId": "options_payment_information_for_user",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -11801,7 +11801,7 @@
"operationId": "options_payment_intent_for_user", "operationId": "options_payment_intent_for_user",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -12383,7 +12383,7 @@
"operationId": "options_user_subscription", "operationId": "options_user_subscription",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -12656,7 +12656,7 @@
"operationId": "options_user_privacy_settings", "operationId": "options_user_privacy_settings",
"responses": { "responses": {
"204": { "204": {
"description": "successful operation, no content", "description": "resource updated",
"headers": { "headers": {
"Access-Control-Allow-Credentials": { "Access-Control-Allow-Credentials": {
"description": "Access-Control-Allow-Credentials header.", "description": "Access-Control-Allow-Credentials header.",
@ -12796,7 +12796,7 @@
"ml" "ml"
], ],
"summary": "List text-to-CAD models you've generated.", "summary": "List text-to-CAD models you've generated.",
"description": "This will always return the STEP file contents as well as the format the user originally requested.\nThis endpoint requires authentication by any Zoo user. It returns the text-to-CAD models for the authenticated user.\nThe text-to-CAD models are returned in order of creation, with the most recently created text-to-CAD models first.", "description": "This will always return the STEP file contents as well as the format the user originally requested.\n\nThis endpoint requires authentication by any Zoo user. It returns the text-to-CAD models for the authenticated user.\n\nThe text-to-CAD models are returned in order of creation, with the most recently created text-to-CAD models first.",
"operationId": "list_text_to_cad_models_for_user", "operationId": "list_text_to_cad_models_for_user",
"parameters": [ "parameters": [
{ {
@ -13351,7 +13351,7 @@
"hidden" "hidden"
], ],
"summary": "Get extended information about a user.", "summary": "Get extended information about a user.",
"description": "To get information about yourself, use `/users-extended/me` as the endpoint. By doing so you will get the user information for the authenticated user.\nAlternatively, to get information about the authenticated user, use `/user/extended` endpoint.\nTo get information about any Zoo user, you must be a Zoo employee.", "description": "To get information about yourself, use `/users-extended/me` as the endpoint. By doing so you will get the user information for the authenticated user.\n\nAlternatively, to get information about the authenticated user, use `/user/extended` endpoint.\n\nTo get information about any Zoo user, you must be a Zoo employee.",
"operationId": "get_user_extended", "operationId": "get_user_extended",
"parameters": [ "parameters": [
{ {
@ -13433,7 +13433,7 @@
"hidden" "hidden"
], ],
"summary": "Get a user.", "summary": "Get a user.",
"description": "To get information about yourself, use `/users/me` as the endpoint. By doing so you will get the user information for the authenticated user.\nAlternatively, to get information about the authenticated user, use `/user` endpoint.\nTo get information about any Zoo user, you must be a Zoo employee.", "description": "To get information about yourself, use `/users/me` as the endpoint. By doing so you will get the user information for the authenticated user.\n\nAlternatively, to get information about the authenticated user, use `/user` endpoint.\n\nTo get information about any Zoo user, you must be a Zoo employee.",
"operationId": "get_user", "operationId": "get_user",
"parameters": [ "parameters": [
{ {
@ -13515,7 +13515,7 @@
"hidden" "hidden"
], ],
"summary": "List API calls for a user.", "summary": "List API calls for a user.",
"description": "This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user if \"me\" is passed as the user id.\nAlternatively, you can use the `/user/api-calls` endpoint to get the API calls for your user.\nIf the authenticated user is a Zoo employee, then the API calls are returned for the user specified by the user id.\nThe API calls are returned in order of creation, with the most recently created API calls first.", "description": "This endpoint requires authentication by any Zoo user. It returns the API calls for the authenticated user if \"me\" is passed as the user id.\n\nAlternatively, you can use the `/user/api-calls` endpoint to get the API calls for your user.\n\nIf the authenticated user is a Zoo employee, then the API calls are returned for the user specified by the user id.\n\nThe API calls are returned in order of creation, with the most recently created API calls first.",
"operationId": "list_api_calls_for_user", "operationId": "list_api_calls_for_user",
"parameters": [ "parameters": [
{ {
@ -16984,6 +16984,10 @@
} }
] ]
}, },
"DefaultCameraCenterToSelection": {
"description": "The response from the `DefaultCameraCenterToSelection` endpoint.",
"type": "object"
},
"DefaultCameraFocusOn": { "DefaultCameraFocusOn": {
"description": "The response from the `DefaultCameraFocusOn` command.", "description": "The response from the `DefaultCameraFocusOn` command.",
"type": "object" "type": "object"
@ -17162,6 +17166,10 @@
} }
] ]
}, },
"DisableDryRun": {
"description": "The response from the `DisableDryRun` endpoint.",
"type": "object"
},
"Discount": { "Discount": {
"description": "The resource representing a Discount.", "description": "The resource representing a Discount.",
"type": "object", "type": "object",
@ -17253,14 +17261,6 @@
"description": "The response from the `EdgeLinesVisible` endpoint.", "description": "The response from the `EdgeLinesVisible` endpoint.",
"type": "object" "type": "object"
}, },
"EditModeEnter": {
"description": "The response from the `EditModeEnter` endpoint.",
"type": "object"
},
"EditModeExit": {
"description": "The response from the `EditModeExit` endpoint.",
"type": "object"
},
"EmailAuthenticationForm": { "EmailAuthenticationForm": {
"description": "The body of the form for email authentication.", "description": "The body of the form for email authentication.",
"type": "object", "type": "object",
@ -17281,6 +17281,10 @@
"email" "email"
] ]
}, },
"EnableDryRun": {
"description": "The response from the `EnableDryRun` endpoint.",
"type": "object"
},
"EnableSketchMode": { "EnableSketchMode": {
"description": "The response from the `EnableSketchMode` endpoint.", "description": "The response from the `EnableSketchMode` endpoint.",
"type": "object" "type": "object"
@ -17710,7 +17714,7 @@
"type": "object" "type": "object"
}, },
"ExtendedUser": { "ExtendedUser": {
"description": "Extended user information.\n\nThis is mostly used for internal purposes. It returns a mapping of the user's information, including that of our third party services we use for users: MailChimp | Stripe", "description": "Extended user information.\n\nThis is mostly used for internal purposes. It returns a mapping of the user's information, including that of our third party services we use for users: Stripe",
"type": "object", "type": "object",
"properties": { "properties": {
"block": { "block": {
@ -17789,11 +17793,6 @@
"description": "The user's last name.", "description": "The user's last name.",
"type": "string" "type": "string"
}, },
"mailchimp_id": {
"nullable": true,
"description": "The user's MailChimp ID. This is mostly used for internal mapping.",
"type": "string"
},
"name": { "name": {
"description": "The name of the user. This is auto populated at first from the authentication provider (if there was a name). It can be updated by the user by updating their `first_name` and `last_name` fields.", "description": "The name of the user. This is auto populated at first from the authentication provider (if there was a name). It can be updated by the user by updating their `first_name` and `last_name` fields.",
"type": "string" "type": "string"
@ -21593,27 +21592,6 @@
"type" "type"
] ]
}, },
{
"description": "Enter edit mode",
"type": "object",
"properties": {
"target": {
"description": "The edit target",
"type": "string",
"format": "uuid"
},
"type": {
"type": "string",
"enum": [
"edit_mode_enter"
]
}
},
"required": [
"target",
"type"
]
},
{ {
"description": "Modifies the selection by simulating a \"mouse click\" at the given x,y window coordinate Returns ID of whatever was selected.", "description": "Modifies the selection by simulating a \"mouse click\" at the given x,y window coordinate Returns ID of whatever was selected.",
"type": "object", "type": "object",
@ -22713,6 +22691,36 @@
"type" "type"
] ]
}, },
{
"description": "Sets whether or not changes to the scene or its objects will be done as a \"dry run\" In a dry run, successful commands won't actually change the model. This is useful for catching errors before actually making the change.",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"enable_dry_run"
]
}
},
"required": [
"type"
]
},
{
"description": "Sets whether or not changes to the scene or its objects will be done as a \"dry run\" In a dry run, successful commands won't actually change the model. This is useful for catching errors before actually making the change.",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"disable_dry_run"
]
}
},
"required": [
"type"
]
},
{ {
"description": "Set the background color of the scene.", "description": "Set the background color of the scene.",
"type": "object", "type": "object",
@ -23546,6 +23554,21 @@
"type" "type"
] ]
}, },
{
"description": "Updates the camera to center to the center of the current selection (or the origin if nothing is selected)",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"default_camera_center_to_selection"
]
}
},
"required": [
"type"
]
},
{ {
"description": "Fit the view to the specified object(s).", "description": "Fit the view to the specified object(s).",
"type": "object", "type": "object",
@ -23629,21 +23652,6 @@
"type" "type"
] ]
}, },
{
"description": "Exit edit mode",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"edit_mode_exit"
]
}
},
"required": [
"type"
]
},
{ {
"description": "Clear the selection", "description": "Clear the selection",
"type": "object", "type": "object",
@ -24068,24 +24076,6 @@
"type" "type"
] ]
}, },
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/EditModeEnter"
},
"type": {
"type": "string",
"enum": [
"edit_mode_enter"
]
}
},
"required": [
"data",
"type"
]
},
{ {
"type": "object", "type": "object",
"properties": { "properties": {
@ -24464,6 +24454,42 @@
"type" "type"
] ]
}, },
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/EnableDryRun"
},
"type": {
"type": "string",
"enum": [
"enable_dry_run"
]
}
},
"required": [
"data",
"type"
]
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/DisableDryRun"
},
"type": {
"type": "string",
"enum": [
"disable_dry_run"
]
}
},
"required": [
"data",
"type"
]
},
{ {
"type": "object", "type": "object",
"properties": { "properties": {
@ -24756,12 +24782,12 @@
"type": "object", "type": "object",
"properties": { "properties": {
"data": { "data": {
"$ref": "#/components/schemas/EditModeExit" "$ref": "#/components/schemas/DefaultCameraCenterToSelection"
}, },
"type": { "type": {
"type": "string", "type": "string",
"enum": [ "enum": [
"edit_mode_exit" "default_camera_center_to_selection"
] ]
} }
}, },