openapi: 3.2.0 info: title: Tandoor API version: 0.0.0 (2.6.13) x-logo: url: /static/assets/brand_logo.svg backgroundColor: '#FFFFFF' altText: Tandoor logo href: / description: Tandoor API Docs tags: - name: api paths: /api/access-token/: get: operationId: apiAccessTokenList description: logs request counts to redis cache total/per user/ tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/AccessToken' description: '' post: operationId: apiAccessTokenCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/AccessToken' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AccessToken' multipart/form-data: schema: $ref: '#/components/schemas/AccessToken' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/AccessToken' description: '' /api/access-token/{id}/: get: operationId: apiAccessTokenRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this access token. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AccessToken' description: '' put: operationId: apiAccessTokenUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this access token. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/AccessToken' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AccessToken' multipart/form-data: schema: $ref: '#/components/schemas/AccessToken' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AccessToken' description: '' patch: operationId: apiAccessTokenPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this access token. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAccessToken' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedAccessToken' multipart/form-data: schema: $ref: '#/components/schemas/PatchedAccessToken' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AccessToken' description: '' delete: operationId: apiAccessTokenDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this access token. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/ai-import/: post: operationId: apiAiImportCreate description: given an image or PDF file convert its content to a structured recipe using AI and the scraping system tags: - api requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/AiImport' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeFromSourceResponse' description: '' /api/ai-log/: get: operationId: apiAiLogList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedAiLogList' description: '' /api/ai-log/{id}/: get: operationId: apiAiLogRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this ai log. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AiLog' description: '' /api/ai-provider/: get: operationId: apiAiProviderList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedAiProviderList' description: '' post: operationId: apiAiProviderCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/AiProvider' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AiProvider' multipart/form-data: schema: $ref: '#/components/schemas/AiProvider' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/AiProvider' description: '' /api/ai-provider/{id}/: get: operationId: apiAiProviderRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this ai provider. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AiProvider' description: '' put: operationId: apiAiProviderUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this ai provider. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/AiProvider' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AiProvider' multipart/form-data: schema: $ref: '#/components/schemas/AiProvider' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AiProvider' description: '' patch: operationId: apiAiProviderPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this ai provider. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAiProvider' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedAiProvider' multipart/form-data: schema: $ref: '#/components/schemas/PatchedAiProvider' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AiProvider' description: '' delete: operationId: apiAiProviderDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this ai provider. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/ai-provider/{id}/cascading/: get: operationId: apiAiProviderCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this ai provider. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/ai-provider/{id}/nulling/: get: operationId: apiAiProviderNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this ai provider. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/ai-provider/{id}/protecting/: get: operationId: apiAiProviderProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this ai provider. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/ai-step-sort/: post: operationId: apiAiStepSortCreate description: given an image or PDF file convert its content to a structured recipe using AI and the scraping system parameters: - in: query name: provider schema: type: integer description: ID of the AI provider that should be used for this AI request tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Recipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Recipe' multipart/form-data: schema: $ref: '#/components/schemas/Recipe' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' /api/auto-plan/: post: operationId: apiAutoPlanCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/AutoMealPlan' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AutoMealPlan' multipart/form-data: schema: $ref: '#/components/schemas/AutoMealPlan' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/AutoMealPlan' description: '' /api/automation/: get: operationId: apiAutomationList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: type schema: type: array items: type: string enum: - DESCRIPTION_REPLACE - FOOD_ALIAS - FOOD_REPLACE - INSTRUCTION_REPLACE - KEYWORD_ALIAS - NAME_REPLACE - NEVER_UNIT - TRANSPOSE_WORDS - UNIT_ALIAS - UNIT_REPLACE description: Return the Automations matching the automation type. Repeat for multiple. tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedAutomationList' description: '' post: operationId: apiAutomationCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Automation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Automation' multipart/form-data: schema: $ref: '#/components/schemas/Automation' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Automation' description: '' /api/automation/{id}/: get: operationId: apiAutomationRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this automation. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Automation' description: '' put: operationId: apiAutomationUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this automation. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Automation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Automation' multipart/form-data: schema: $ref: '#/components/schemas/Automation' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Automation' description: '' patch: operationId: apiAutomationPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this automation. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAutomation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedAutomation' multipart/form-data: schema: $ref: '#/components/schemas/PatchedAutomation' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Automation' description: '' delete: operationId: apiAutomationDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this automation. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/bookmarklet-import/: get: operationId: apiBookmarkletImportList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedBookmarkletImportListList' description: '' post: operationId: apiBookmarkletImportCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/BookmarkletImport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BookmarkletImport' multipart/form-data: schema: $ref: '#/components/schemas/BookmarkletImport' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/BookmarkletImport' description: '' /api/bookmarklet-import/{id}/: get: operationId: apiBookmarkletImportRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this bookmarklet import. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/BookmarkletImport' description: '' put: operationId: apiBookmarkletImportUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this bookmarklet import. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/BookmarkletImport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BookmarkletImport' multipart/form-data: schema: $ref: '#/components/schemas/BookmarkletImport' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/BookmarkletImport' description: '' patch: operationId: apiBookmarkletImportPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this bookmarklet import. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedBookmarkletImport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedBookmarkletImport' multipart/form-data: schema: $ref: '#/components/schemas/PatchedBookmarkletImport' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/BookmarkletImport' description: '' delete: operationId: apiBookmarkletImportDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this bookmarklet import. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/connector-config/: get: operationId: apiConnectorConfigList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedConnectorConfigList' description: '' post: operationId: apiConnectorConfigCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ConnectorConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ConnectorConfig' multipart/form-data: schema: $ref: '#/components/schemas/ConnectorConfig' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ConnectorConfig' description: '' /api/connector-config/{id}/: get: operationId: apiConnectorConfigRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this connector config. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ConnectorConfig' description: '' put: operationId: apiConnectorConfigUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this connector config. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ConnectorConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ConnectorConfig' multipart/form-data: schema: $ref: '#/components/schemas/ConnectorConfig' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ConnectorConfig' description: '' patch: operationId: apiConnectorConfigPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this connector config. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedConnectorConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedConnectorConfig' multipart/form-data: schema: $ref: '#/components/schemas/PatchedConnectorConfig' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ConnectorConfig' description: '' delete: operationId: apiConnectorConfigDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this connector config. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/connector-config/{id}/cascading/: get: operationId: apiConnectorConfigCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this connector config. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/connector-config/{id}/nulling/: get: operationId: apiConnectorConfigNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this connector config. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/connector-config/{id}/protecting/: get: operationId: apiConnectorConfigProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this connector config. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/cook-log/: get: operationId: apiCookLogList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: recipe schema: type: integer description: Filter for entries with the given recipe tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedCookLogList' description: '' post: operationId: apiCookLogCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/CookLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CookLog' multipart/form-data: schema: $ref: '#/components/schemas/CookLog' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/CookLog' description: '' /api/cook-log/{id}/: get: operationId: apiCookLogRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cook log. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CookLog' description: '' put: operationId: apiCookLogUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cook log. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/CookLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CookLog' multipart/form-data: schema: $ref: '#/components/schemas/CookLog' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CookLog' description: '' patch: operationId: apiCookLogPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cook log. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCookLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedCookLog' multipart/form-data: schema: $ref: '#/components/schemas/PatchedCookLog' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CookLog' description: '' delete: operationId: apiCookLogDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cook log. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/custom-filter/: get: operationId: apiCustomFilterList description: logs request counts to redis cache total/per user/ parameters: - in: query name: limit schema: type: string description: limit number of entries to return - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: type schema: type: array items: type: string enum: - FOOD - KEYWORD - RECIPE description: Return the CustomFilters matching the model type. Repeat for multiple. - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime examples: DateFormat: value: '1972-12-05' summary: Date Format tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedCustomFilterList' description: '' post: operationId: apiCustomFilterCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomFilter' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CustomFilter' multipart/form-data: schema: $ref: '#/components/schemas/CustomFilter' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/CustomFilter' description: '' /api/custom-filter/{id}/: get: operationId: apiCustomFilterRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this custom filter. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomFilter' description: '' put: operationId: apiCustomFilterUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this custom filter. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomFilter' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CustomFilter' multipart/form-data: schema: $ref: '#/components/schemas/CustomFilter' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomFilter' description: '' patch: operationId: apiCustomFilterPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this custom filter. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCustomFilter' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedCustomFilter' multipart/form-data: schema: $ref: '#/components/schemas/PatchedCustomFilter' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomFilter' description: '' delete: operationId: apiCustomFilterDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this custom filter. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/download-file/{fileId}/: get: operationId: apiDownloadFileRetrieve description: 'function to download a user file securely (wrapping as zip to prevent any context based XSS problems) temporary solution until a real file manager is implemented' parameters: - in: path name: fileId schema: type: integer required: true tags: - api security: - ApiKeyAuth: [] responses: '200': description: No response body /api/enterprise-billing-invoice/: get: operationId: apiEnterpriseBillingInvoiceList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEnterpriseBillingInvoiceList' description: '' post: operationId: apiEnterpriseBillingInvoiceCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingInvoice' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseBillingInvoice' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseBillingInvoice' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingInvoice' description: '' /api/enterprise-billing-invoice/{id}/: get: operationId: apiEnterpriseBillingInvoiceRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing invoice. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingInvoice' description: '' put: operationId: apiEnterpriseBillingInvoiceUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing invoice. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingInvoice' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseBillingInvoice' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseBillingInvoice' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingInvoice' description: '' patch: operationId: apiEnterpriseBillingInvoicePartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing invoice. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingInvoice' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingInvoice' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingInvoice' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingInvoice' description: '' delete: operationId: apiEnterpriseBillingInvoiceDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing invoice. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/enterprise-billing-invoice/{id}/download/: get: operationId: apiEnterpriseBillingInvoiceDownloadRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing invoice. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingInvoice' description: '' /api/enterprise-billing-plan/: get: operationId: apiEnterpriseBillingPlanList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEnterpriseBillingPlanList' description: '' post: operationId: apiEnterpriseBillingPlanCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingPlan' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseBillingPlan' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseBillingPlan' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingPlan' description: '' /api/enterprise-billing-plan/{id}/: get: operationId: apiEnterpriseBillingPlanRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing plan. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingPlan' description: '' put: operationId: apiEnterpriseBillingPlanUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing plan. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingPlan' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseBillingPlan' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseBillingPlan' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingPlan' description: '' patch: operationId: apiEnterpriseBillingPlanPartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing plan. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingPlan' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingPlan' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingPlan' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingPlan' description: '' delete: operationId: apiEnterpriseBillingPlanDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing plan. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/enterprise-billing-product/: get: operationId: apiEnterpriseBillingProductList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEnterpriseBillingProductList' description: '' post: operationId: apiEnterpriseBillingProductCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingProduct' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseBillingProduct' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseBillingProduct' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingProduct' description: '' /api/enterprise-billing-product/{id}/: get: operationId: apiEnterpriseBillingProductRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing product. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingProduct' description: '' put: operationId: apiEnterpriseBillingProductUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing product. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingProduct' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseBillingProduct' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseBillingProduct' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingProduct' description: '' patch: operationId: apiEnterpriseBillingProductPartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing product. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingProduct' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingProduct' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingProduct' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingProduct' description: '' delete: operationId: apiEnterpriseBillingProductDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing product. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/enterprise-billing-referral-link/: get: operationId: apiEnterpriseBillingReferralLinkList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEnterpriseBillingReferralLinkList' description: '' post: operationId: apiEnterpriseBillingReferralLinkCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingReferralLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseBillingReferralLink' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseBillingReferralLink' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingReferralLink' description: '' /api/enterprise-billing-referral-link/{id}/: get: operationId: apiEnterpriseBillingReferralLinkRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing referral link. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingReferralLink' description: '' put: operationId: apiEnterpriseBillingReferralLinkUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing referral link. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingReferralLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseBillingReferralLink' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseBillingReferralLink' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingReferralLink' description: '' patch: operationId: apiEnterpriseBillingReferralLinkPartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing referral link. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingReferralLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingReferralLink' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEnterpriseBillingReferralLink' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingReferralLink' description: '' delete: operationId: apiEnterpriseBillingReferralLinkDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise billing referral link. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/enterprise-billing-referral-link/get_link/: get: operationId: apiEnterpriseBillingReferralLinkGetLinkRetrieve tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseBillingReferralLink' description: '' /api/enterprise-billing-stripe/checkout_session/: post: operationId: apiEnterpriseBillingStripeCheckoutSessionCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/StripeCheckoutSessionRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/StripeCheckoutSessionRequest' multipart/form-data: schema: $ref: '#/components/schemas/StripeCheckoutSessionRequest' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/StripeCheckoutSessionResponse' description: '' /api/enterprise-billing-stripe/portal/: get: operationId: apiEnterpriseBillingStripePortalRetrieve tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/StripePortal' description: '' /api/enterprise-social-embed/: get: operationId: apiEnterpriseSocialEmbedList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: token schema: type: string description: Embed share token for public retrieval. tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEnterpriseSocialEmbedList' description: '' post: operationId: apiEnterpriseSocialEmbedCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseSocialEmbed' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseSocialEmbed' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseSocialEmbed' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/EnterpriseSocialEmbed' description: '' /api/enterprise-social-embed/{id}/: get: operationId: apiEnterpriseSocialEmbedRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise social embed. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseSocialEmbed' description: '' put: operationId: apiEnterpriseSocialEmbedUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise social embed. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseSocialEmbed' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseSocialEmbed' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseSocialEmbed' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseSocialEmbed' description: '' patch: operationId: apiEnterpriseSocialEmbedPartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise social embed. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEnterpriseSocialEmbed' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEnterpriseSocialEmbed' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEnterpriseSocialEmbed' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseSocialEmbed' description: '' delete: operationId: apiEnterpriseSocialEmbedDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this enterprise social embed. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/enterprise-social-keyword/: get: operationId: apiEnterpriseSocialKeywordList description: logs request counts to redis cache total/per user/ parameters: - in: query name: limit schema: type: string description: limit number of entries to return - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: root schema: type: integer description: Return first level children of {obj} with ID [int]. Integer 0 will return root {obj}s. - in: query name: root_tree schema: type: integer description: Return all items belonging to the tree of the given {obj} id - in: query name: tree schema: type: integer description: Return all self and children of {obj} with ID [int]. - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedKeywordList' description: '' post: operationId: apiEnterpriseSocialKeywordCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Keyword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Keyword' multipart/form-data: schema: $ref: '#/components/schemas/Keyword' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' /api/enterprise-social-keyword/{id}/: get: operationId: apiEnterpriseSocialKeywordRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' put: operationId: apiEnterpriseSocialKeywordUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Keyword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Keyword' multipart/form-data: schema: $ref: '#/components/schemas/Keyword' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' patch: operationId: apiEnterpriseSocialKeywordPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedKeyword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedKeyword' multipart/form-data: schema: $ref: '#/components/schemas/PatchedKeyword' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' delete: operationId: apiEnterpriseSocialKeywordDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/enterprise-social-keyword/{id}/cascading/: get: operationId: apiEnterpriseSocialKeywordCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/enterprise-social-keyword/{id}/merge/{target}/: put: operationId: apiEnterpriseSocialKeywordMergeUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true - in: path name: target schema: type: integer description: The ID of the {obj} you want to merge with. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Keyword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Keyword' multipart/form-data: schema: $ref: '#/components/schemas/Keyword' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' /api/enterprise-social-keyword/{id}/move/{parent}/: put: operationId: apiEnterpriseSocialKeywordMoveUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true - in: path name: parent schema: type: integer description: The ID of the desired parent of the {obj}. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Keyword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Keyword' multipart/form-data: schema: $ref: '#/components/schemas/Keyword' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' /api/enterprise-social-keyword/{id}/nulling/: get: operationId: apiEnterpriseSocialKeywordNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/enterprise-social-keyword/{id}/protecting/: get: operationId: apiEnterpriseSocialKeywordProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/enterprise-social-recipe/: get: operationId: apiEnterpriseSocialRecipeList description: logs request counts to redis cache total/per user/ parameters: - in: query name: books schema: type: array items: type: integer description: ID of book a recipe should be in. For multiple repeat parameter. - in: query name: books_and schema: type: array items: type: integer description: Book IDs, repeat for multiple. Return recipes with all of the books. - in: query name: books_and_not schema: type: array items: type: integer description: Book IDs, repeat for multiple. Exclude recipes with all of the books. - in: query name: books_or schema: type: array items: type: integer description: Book IDs, repeat for multiple. Return recipes with any of the books - in: query name: books_or_not schema: type: array items: type: integer description: Book IDs, repeat for multiple. Exclude recipes with any of the books. - in: query name: cookedon_gte schema: type: string format: date description: Filter recipes last cooked on the given date or after. - in: query name: cookedon_lte schema: type: string format: date description: Filter recipes last cooked on the given date or before. - in: query name: createdby schema: type: integer description: Filter recipes for ones created by the given user ID - in: query name: createdon schema: type: string format: date description: Filter recipes created on the given date. - in: query name: createdon_gte schema: type: string format: date description: Filter recipes created on the given date or after. - in: query name: createdon_lte schema: type: string format: date description: Filter recipes created on the given date or before. - in: query name: filter schema: type: integer description: ID of a custom filter. Returns all recipes matched by that filter. - in: query name: foods schema: type: array items: type: integer description: ID of food a recipe should have. For multiple repeat parameter. - in: query name: foods_and schema: type: array items: type: integer description: Food IDs, repeat for multiple. Return recipes with all of the foods. - in: query name: foods_and_not schema: type: array items: type: integer description: Food IDs, repeat for multiple. Exclude recipes with all of the foods. - in: query name: foods_or schema: type: array items: type: integer description: Food IDs, repeat for multiple. Return recipes with any of the foods - in: query name: foods_or_not schema: type: array items: type: integer description: Food IDs, repeat for multiple. Exclude recipes with any of the foods. - in: query name: include_children schema: type: boolean description: Include child keywords and foods in search results. [true/false] - in: query name: internal schema: type: boolean description: If only internal recipes should be returned. [true/false] - in: query name: keyword schema: type: integer description: Keyword ID to only return recipes with the given keyword - in: query name: keywords schema: type: array items: type: integer description: ID of keyword a recipe should have. For multiple repeat parameter. Equivalent to keywords_or - in: query name: keywords_and schema: type: array items: type: integer description: Keyword IDs, repeat for multiple. Return recipes with all of the keywords. - in: query name: keywords_and_not schema: type: array items: type: integer description: Keyword IDs, repeat for multiple. Exclude recipes with all of the keywords. - in: query name: keywords_or schema: type: array items: type: integer description: Keyword IDs, repeat for multiple. Return recipes with any of the keywords - in: query name: keywords_or_not schema: type: array items: type: integer description: Keyword IDs, repeat for multiple. Exclude recipes with any of the keywords. - in: query name: makenow schema: type: boolean description: Filter recipes that can be made with OnHand food. [true/false] - in: query name: new schema: type: boolean description: Returns new results first in search results. [true/false] - in: query name: num_recent schema: type: integer description: Returns the given number of recently viewed recipes before search results (if given) - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: Query to filter recipe name against - in: query name: random schema: type: boolean description: Returns the results in randomized order. [true/false] - in: query name: rating schema: type: integer description: Exact rating of recipe - in: query name: rating_gte schema: type: integer description: Rating a recipe should have or greater. - in: query name: rating_lte schema: type: integer description: Rating a recipe should have or smaller. - in: query name: sort_order schema: type: string description: 'Determines the order of the results. Options are: score,-score,name,-name,lastcooked,-lastcooked,rating,-rating,times_cooked,-times_cooked,created_at,-created_at,lastviewed,-lastviewed' - in: query name: timescooked schema: type: integer description: Filter recipes cooked X times. - in: query name: timescooked_gte schema: type: integer description: Filter recipes cooked X times or more. - in: query name: timescooked_lte schema: type: integer description: Filter recipes cooked X times or less. - in: query name: token schema: type: string description: Embed share token for public retrieval. - in: query name: units schema: type: integer description: ID of unit a recipe should have. - in: query name: updatedon schema: type: string format: date description: Filter recipes updated on the given date. - in: query name: updatedon_gte schema: type: string format: date description: Filter recipes updated on the given date. - in: query name: updatedon_lte schema: type: string format: date description: Filter recipes updated on the given date. - in: query name: viewedon_gte schema: type: string format: date description: Filter recipes lasts viewed on the given date. - in: query name: viewedon_lte schema: type: string format: date description: Filter recipes lasts viewed on the given date. tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEnterpriseSocialRecipeSearchList' description: '' post: operationId: apiEnterpriseSocialRecipeCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Recipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Recipe' multipart/form-data: schema: $ref: '#/components/schemas/Recipe' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' /api/enterprise-social-recipe/{id}/: get: operationId: apiEnterpriseSocialRecipeRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true - in: query name: share schema: type: string - in: query name: token schema: type: string description: Embed share token for public retrieval. tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' put: operationId: apiEnterpriseSocialRecipeUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Recipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Recipe' multipart/form-data: schema: $ref: '#/components/schemas/Recipe' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' patch: operationId: apiEnterpriseSocialRecipePartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedRecipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedRecipe' multipart/form-data: schema: $ref: '#/components/schemas/PatchedRecipe' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' delete: operationId: apiEnterpriseSocialRecipeDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/enterprise-social-recipe/{id}/aiproperties/: post: operationId: apiEnterpriseSocialRecipeAipropertiesCreate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true - in: query name: provider schema: type: integer description: ID of the AI provider that should be used for this AI request tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Recipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Recipe' multipart/form-data: schema: $ref: '#/components/schemas/Recipe' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' /api/enterprise-social-recipe/{id}/cascading/: get: operationId: apiEnterpriseSocialRecipeCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/enterprise-social-recipe/{id}/delete_external/: patch: operationId: apiEnterpriseSocialRecipeDeleteExternalPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedRecipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedRecipe' multipart/form-data: schema: $ref: '#/components/schemas/PatchedRecipe' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' /api/enterprise-social-recipe/{id}/image/: put: operationId: apiEnterpriseSocialRecipeImageUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/RecipeImage' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeImage' description: '' /api/enterprise-social-recipe/{id}/nulling/: get: operationId: apiEnterpriseSocialRecipeNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/enterprise-social-recipe/{id}/protecting/: get: operationId: apiEnterpriseSocialRecipeProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/enterprise-social-recipe/{id}/related/: get: operationId: apiEnterpriseSocialRecipeRelatedList description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/RecipeSimple' description: '' /api/enterprise-social-recipe/{id}/shopping/: put: operationId: apiEnterpriseSocialRecipeShoppingUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeShoppingUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeShoppingUpdate' multipart/form-data: schema: $ref: '#/components/schemas/RecipeShoppingUpdate' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeShoppingUpdate' description: '' /api/enterprise-social-recipe/batch_update/: put: operationId: apiEnterpriseSocialRecipeBatchUpdateUpdate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeBatchUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeBatchUpdate' multipart/form-data: schema: $ref: '#/components/schemas/RecipeBatchUpdate' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeBatchUpdate' description: '' /api/enterprise-social-recipe/flat/: get: operationId: apiEnterpriseSocialRecipeFlatList description: logs request counts to redis cache total/per user/ tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/RecipeFlat' description: '' /api/enterprise-space/: get: operationId: apiEnterpriseSpaceList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEnterpriseSpaceList' description: '' post: operationId: apiEnterpriseSpaceCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseSpace' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseSpace' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseSpace' security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/EnterpriseSpace' description: '' /api/enterprise-space/{space}/: get: operationId: apiEnterpriseSpaceRetrieve parameters: - in: path name: space schema: type: integer description: A unique value identifying this enterprise space. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseSpace' description: '' put: operationId: apiEnterpriseSpaceUpdate parameters: - in: path name: space schema: type: integer description: A unique value identifying this enterprise space. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseSpace' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseSpace' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseSpace' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseSpace' description: '' patch: operationId: apiEnterpriseSpacePartialUpdate parameters: - in: path name: space schema: type: integer description: A unique value identifying this enterprise space. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEnterpriseSpace' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEnterpriseSpace' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEnterpriseSpace' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseSpace' description: '' delete: operationId: apiEnterpriseSpaceDestroy parameters: - in: path name: space schema: type: integer description: A unique value identifying this enterprise space. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/enterprise-space/current/: get: operationId: apiEnterpriseSpaceCurrentRetrieve tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseSpace' description: '' /api/export/: post: operationId: apiExportCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExportRequest' multipart/form-data: schema: $ref: '#/components/schemas/ExportRequest' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExportLog' description: '' /api/export-log/: get: operationId: apiExportLogList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExportLogList' description: '' post: operationId: apiExportLogCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExportLog' multipart/form-data: schema: $ref: '#/components/schemas/ExportLog' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExportLog' description: '' /api/export-log/{id}/: get: operationId: apiExportLogRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this export log. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExportLog' description: '' put: operationId: apiExportLogUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this export log. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExportLog' multipart/form-data: schema: $ref: '#/components/schemas/ExportLog' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExportLog' description: '' patch: operationId: apiExportLogPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this export log. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExportLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExportLog' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExportLog' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExportLog' description: '' delete: operationId: apiExportLogDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this export log. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/fdc-search/: get: operationId: apiFdcSearchRetrieve parameters: - in: query name: dataType schema: type: array items: type: string description: 'options: Branded,Foundation,Survey (FNDDS),SR Legacy' - in: query name: query schema: type: string tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/FdcQuery' description: '' /api/food/: get: operationId: apiFoodList description: logs request counts to redis cache total/per user/ parameters: - in: query name: limit schema: type: string description: limit number of entries to return - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: root schema: type: integer description: Return first level children of {obj} with ID [int]. Integer 0 will return root {obj}s. - in: query name: root_tree schema: type: integer description: Return all items belonging to the tree of the given {obj} id - in: query name: tree schema: type: integer description: Return all self and children of {obj} with ID [int]. - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedFoodList' description: '' post: operationId: apiFoodCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Food' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Food' multipart/form-data: schema: $ref: '#/components/schemas/Food' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Food' description: '' /api/food-inherit-field/: get: operationId: apiFoodInheritFieldList description: logs request counts to redis cache total/per user/ tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/FoodInheritField' description: '' /api/food-inherit-field/{id}/: get: operationId: apiFoodInheritFieldRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this food inherit field. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/FoodInheritField' description: '' /api/food/{id}/: get: operationId: apiFoodRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Food' description: '' put: operationId: apiFoodUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Food' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Food' multipart/form-data: schema: $ref: '#/components/schemas/Food' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Food' description: '' patch: operationId: apiFoodPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedFood' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedFood' multipart/form-data: schema: $ref: '#/components/schemas/PatchedFood' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Food' description: '' delete: operationId: apiFoodDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/food/{id}/aiproperties/: post: operationId: apiFoodAipropertiesCreate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true - in: query name: provider schema: type: integer description: ID of the AI provider that should be used for this AI request tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Food' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Food' multipart/form-data: schema: $ref: '#/components/schemas/Food' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Food' description: '' /api/food/{id}/cascading/: get: operationId: apiFoodCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/food/{id}/fdc/: post: operationId: apiFoodFdcCreate description: 'updates the food with all possible data from the FDC Api if properties with a fdc_id already exist they will be overridden, if existing properties don''t have a fdc_id they won''t be changed' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Food' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Food' multipart/form-data: schema: $ref: '#/components/schemas/Food' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Food' description: '' /api/food/{id}/merge/{target}/: put: operationId: apiFoodMergeUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true - in: path name: target schema: type: integer description: The ID of the {obj} you want to merge with. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Food' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Food' multipart/form-data: schema: $ref: '#/components/schemas/Food' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Food' description: '' /api/food/{id}/move/{parent}/: put: operationId: apiFoodMoveUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true - in: path name: parent schema: type: integer description: The ID of the desired parent of the {obj}. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Food' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Food' multipart/form-data: schema: $ref: '#/components/schemas/Food' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Food' description: '' /api/food/{id}/nulling/: get: operationId: apiFoodNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/food/{id}/protecting/: get: operationId: apiFoodProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/food/{id}/shopping/: put: operationId: apiFoodShoppingUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this food. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/FoodShoppingUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FoodShoppingUpdate' multipart/form-data: schema: $ref: '#/components/schemas/FoodShoppingUpdate' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/FoodShoppingUpdate' description: '' /api/food/batch_update/: put: operationId: apiFoodBatchUpdateUpdate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/FoodBatchUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FoodBatchUpdate' multipart/form-data: schema: $ref: '#/components/schemas/FoodBatchUpdate' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/FoodBatchUpdate' description: '' /api/get_external_file_link/{id}/: get: operationId: apiGetExternalFileLinkRetrieve parameters: - in: path name: id schema: type: integer required: true tags: - api security: - ApiKeyAuth: [] responses: '200': description: No response body /api/get_recipe_file/{id}/: get: operationId: apiGetRecipeFileRetrieve parameters: - in: path name: id schema: type: integer required: true tags: - api security: - ApiKeyAuth: [] responses: '200': description: No response body /api/group/: get: operationId: apiGroupList description: logs request counts to redis cache total/per user/ tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/Group' description: '' /api/group/{id}/: get: operationId: apiGroupRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this group. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Group' description: '' /api/household/: get: operationId: apiHouseholdList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHouseholdList' description: '' post: operationId: apiHouseholdCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Household' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Household' multipart/form-data: schema: $ref: '#/components/schemas/Household' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Household' description: '' /api/household/{id}/: get: operationId: apiHouseholdRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this household. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Household' description: '' put: operationId: apiHouseholdUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this household. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Household' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Household' multipart/form-data: schema: $ref: '#/components/schemas/Household' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Household' description: '' patch: operationId: apiHouseholdPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this household. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHousehold' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHousehold' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHousehold' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Household' description: '' delete: operationId: apiHouseholdDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this household. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/import/: post: operationId: apiImportCreate tags: - api requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/AiImport' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeFromSourceResponse' description: '' /api/import-log/: get: operationId: apiImportLogList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedImportLogList' description: '' post: operationId: apiImportLogCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ImportLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ImportLog' multipart/form-data: schema: $ref: '#/components/schemas/ImportLog' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ImportLog' description: '' /api/import-log/{id}/: get: operationId: apiImportLogRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this import log. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ImportLog' description: '' put: operationId: apiImportLogUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this import log. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ImportLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ImportLog' multipart/form-data: schema: $ref: '#/components/schemas/ImportLog' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ImportLog' description: '' patch: operationId: apiImportLogPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this import log. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedImportLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedImportLog' multipart/form-data: schema: $ref: '#/components/schemas/PatchedImportLog' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ImportLog' description: '' delete: operationId: apiImportLogDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this import log. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/import-open-data/: get: operationId: apiImportOpenDataRetrieve tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ImportOpenDataMetaData' description: '' post: operationId: apiImportOpenDataCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ImportOpenData' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ImportOpenData' multipart/form-data: schema: $ref: '#/components/schemas/ImportOpenData' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ImportOpenDataResponse' description: '' /api/ingredient/: get: operationId: apiIngredientList description: logs request counts to redis cache total/per user/ parameters: - in: query name: food schema: type: integer description: ID of food to filter for - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: unit schema: type: integer description: ID of unit to filter for tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedIngredientList' description: '' post: operationId: apiIngredientCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Ingredient' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Ingredient' multipart/form-data: schema: $ref: '#/components/schemas/Ingredient' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Ingredient' description: '' /api/ingredient-parser/post/: post: operationId: apiIngredientParserPostCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/IngredientParserRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IngredientParserRequest' multipart/form-data: schema: $ref: '#/components/schemas/IngredientParserRequest' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/IngredientParserResponse' description: '' /api/ingredient/{id}/: get: operationId: apiIngredientRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this ingredient. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Ingredient' description: '' put: operationId: apiIngredientUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this ingredient. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Ingredient' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Ingredient' multipart/form-data: schema: $ref: '#/components/schemas/Ingredient' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Ingredient' description: '' patch: operationId: apiIngredientPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this ingredient. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedIngredient' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedIngredient' multipart/form-data: schema: $ref: '#/components/schemas/PatchedIngredient' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Ingredient' description: '' delete: operationId: apiIngredientDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this ingredient. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/inventory-entry/: get: operationId: apiInventoryEntryList description: logs request counts to redis cache total/per user/ parameters: - in: query name: code schema: type: string description: Returns all entries with the same food as the given code. If code is given food parameter is ignored - in: query name: empty schema: type: boolean description: If true also return empty entries, if false (default) only return entries with amount > 0. - in: query name: food_id schema: type: integer description: Returns all entries with the given food id - in: query name: inventory_location_id schema: type: integer description: Returns all entries with the given inventory location id - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedInventoryEntryList' description: '' post: operationId: apiInventoryEntryCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InventoryEntry' multipart/form-data: schema: $ref: '#/components/schemas/InventoryEntry' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' description: '' /api/inventory-entry/{id}/: get: operationId: apiInventoryEntryRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this inventory entry. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' description: '' put: operationId: apiInventoryEntryUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this inventory entry. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InventoryEntry' multipart/form-data: schema: $ref: '#/components/schemas/InventoryEntry' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' description: '' patch: operationId: apiInventoryEntryPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this inventory entry. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedInventoryEntry' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedInventoryEntry' multipart/form-data: schema: $ref: '#/components/schemas/PatchedInventoryEntry' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' description: '' delete: operationId: apiInventoryEntryDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this inventory entry. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/inventory-entry/{id}/cascading/: get: operationId: apiInventoryEntryCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this inventory entry. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/inventory-entry/{id}/nulling/: get: operationId: apiInventoryEntryNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this inventory entry. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/inventory-entry/{id}/protecting/: get: operationId: apiInventoryEntryProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this inventory entry. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/inventory-location/: get: operationId: apiInventoryLocationList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedInventoryLocationList' description: '' post: operationId: apiInventoryLocationCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/InventoryLocation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InventoryLocation' multipart/form-data: schema: $ref: '#/components/schemas/InventoryLocation' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/InventoryLocation' description: '' /api/inventory-location/{id}/: get: operationId: apiInventoryLocationRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this inventory location. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InventoryLocation' description: '' put: operationId: apiInventoryLocationUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this inventory location. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/InventoryLocation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InventoryLocation' multipart/form-data: schema: $ref: '#/components/schemas/InventoryLocation' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InventoryLocation' description: '' patch: operationId: apiInventoryLocationPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this inventory location. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedInventoryLocation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedInventoryLocation' multipart/form-data: schema: $ref: '#/components/schemas/PatchedInventoryLocation' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InventoryLocation' description: '' delete: operationId: apiInventoryLocationDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this inventory location. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/inventory-location/{id}/cascading/: get: operationId: apiInventoryLocationCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this inventory location. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/inventory-location/{id}/nulling/: get: operationId: apiInventoryLocationNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this inventory location. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/inventory-location/{id}/protecting/: get: operationId: apiInventoryLocationProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this inventory location. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/inventory-log/: get: operationId: apiInventoryLogList description: logs request counts to redis cache total/per user/ parameters: - in: query name: entry_id schema: type: integer description: Returns all entries with the given entry id - in: query name: food_id schema: type: integer description: Returns all entries with the given food id - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedInventoryLogList' description: '' /api/inventory-log/{id}/: get: operationId: apiInventoryLogRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this inventory log. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InventoryLog' description: '' /api/invite-link/: get: operationId: apiInviteLinkList description: logs request counts to redis cache total/per user/ parameters: - in: query name: internal_note schema: type: string description: Text field to store data that gets carried over to the UserSpace created from the InviteLink - in: query name: limit schema: type: string description: limit number of entries to return - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: unused schema: type: boolean description: Only return InviteLinks that have not been used yet. - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime examples: DateFormat: value: '1972-12-05' summary: Date Format tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedInviteLinkList' description: '' post: operationId: apiInviteLinkCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/InviteLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InviteLink' multipart/form-data: schema: $ref: '#/components/schemas/InviteLink' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/InviteLink' description: '' /api/invite-link/{id}/: get: operationId: apiInviteLinkRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this invite link. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InviteLink' description: '' put: operationId: apiInviteLinkUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this invite link. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/InviteLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InviteLink' multipart/form-data: schema: $ref: '#/components/schemas/InviteLink' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InviteLink' description: '' patch: operationId: apiInviteLinkPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this invite link. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedInviteLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedInviteLink' multipart/form-data: schema: $ref: '#/components/schemas/PatchedInviteLink' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/InviteLink' description: '' delete: operationId: apiInviteLinkDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this invite link. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/keyword/: get: operationId: apiKeywordList description: logs request counts to redis cache total/per user/ parameters: - in: query name: limit schema: type: string description: limit number of entries to return - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: root schema: type: integer description: Return first level children of {obj} with ID [int]. Integer 0 will return root {obj}s. - in: query name: root_tree schema: type: integer description: Return all items belonging to the tree of the given {obj} id - in: query name: tree schema: type: integer description: Return all self and children of {obj} with ID [int]. - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedKeywordList' description: '' post: operationId: apiKeywordCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Keyword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Keyword' multipart/form-data: schema: $ref: '#/components/schemas/Keyword' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' /api/keyword/{id}/: get: operationId: apiKeywordRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' put: operationId: apiKeywordUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Keyword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Keyword' multipart/form-data: schema: $ref: '#/components/schemas/Keyword' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' patch: operationId: apiKeywordPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedKeyword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedKeyword' multipart/form-data: schema: $ref: '#/components/schemas/PatchedKeyword' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' delete: operationId: apiKeywordDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/keyword/{id}/cascading/: get: operationId: apiKeywordCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/keyword/{id}/merge/{target}/: put: operationId: apiKeywordMergeUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true - in: path name: target schema: type: integer description: The ID of the {obj} you want to merge with. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Keyword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Keyword' multipart/form-data: schema: $ref: '#/components/schemas/Keyword' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' /api/keyword/{id}/move/{parent}/: put: operationId: apiKeywordMoveUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true - in: path name: parent schema: type: integer description: The ID of the desired parent of the {obj}. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Keyword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Keyword' multipart/form-data: schema: $ref: '#/components/schemas/Keyword' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Keyword' description: '' /api/keyword/{id}/nulling/: get: operationId: apiKeywordNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/keyword/{id}/protecting/: get: operationId: apiKeywordProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this keyword. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/localization/: get: operationId: apiLocalizationList tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/Localization' description: '' /api/meal-plan/: get: operationId: apiMealPlanList description: logs request counts to redis cache total/per user/ parameters: - in: query name: from_date schema: type: string description: Filter meal plans from date (inclusive). If nothing is given its today - 90 days. examples: DateFormat: value: '1972-12-05' summary: Date Format - in: query name: meal_type schema: type: array items: type: string description: Filter meal plans with MealType ID. For multiple repeat parameter. - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: to_date schema: type: string description: Filter meal plans to date (inclusive). If nothing is given its today + 360 days. examples: DateFormat: value: '1972-12-05' summary: Date Format tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedMealPlanList' description: '' post: operationId: apiMealPlanCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/MealPlan' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MealPlan' multipart/form-data: schema: $ref: '#/components/schemas/MealPlan' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/MealPlan' description: '' /api/meal-plan/{id}/: get: operationId: apiMealPlanRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this meal plan. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/MealPlan' description: '' put: operationId: apiMealPlanUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this meal plan. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/MealPlan' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MealPlan' multipart/form-data: schema: $ref: '#/components/schemas/MealPlan' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/MealPlan' description: '' patch: operationId: apiMealPlanPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this meal plan. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedMealPlan' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedMealPlan' multipart/form-data: schema: $ref: '#/components/schemas/PatchedMealPlan' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/MealPlan' description: '' delete: operationId: apiMealPlanDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this meal plan. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/meal-plan/ical/: get: operationId: apiMealPlanIcalRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: query name: from_date schema: type: string description: Filter meal plans from date (inclusive). If nothing is given its today - 90 days. examples: DateFormat: value: '1972-12-05' summary: Date Format - in: query name: meal_type schema: type: array items: type: string description: Filter meal plans with MealType ID. For multiple repeat parameter. - in: query name: to_date schema: type: string description: Filter meal plans to date (inclusive). If nothing is given its today + 360 days. examples: DateFormat: value: '1972-12-05' summary: Date Format tags: - api security: - ApiKeyAuth: [] responses: '200': content: text/calendar: schema: type: string description: '' /api/meal-type/: get: operationId: apiMealTypeList description: 'returns list of meal types created by the requesting user ordered by the order field.' parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedMealTypeList' description: '' post: operationId: apiMealTypeCreate description: 'returns list of meal types created by the requesting user ordered by the order field.' tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/MealType' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MealType' multipart/form-data: schema: $ref: '#/components/schemas/MealType' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/MealType' description: '' /api/meal-type/{id}/: get: operationId: apiMealTypeRetrieve description: 'returns list of meal types created by the requesting user ordered by the order field.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this meal type. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/MealType' description: '' put: operationId: apiMealTypeUpdate description: 'returns list of meal types created by the requesting user ordered by the order field.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this meal type. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/MealType' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MealType' multipart/form-data: schema: $ref: '#/components/schemas/MealType' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/MealType' description: '' patch: operationId: apiMealTypePartialUpdate description: 'returns list of meal types created by the requesting user ordered by the order field.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this meal type. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedMealType' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedMealType' multipart/form-data: schema: $ref: '#/components/schemas/PatchedMealType' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/MealType' description: '' delete: operationId: apiMealTypeDestroy description: 'returns list of meal types created by the requesting user ordered by the order field.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this meal type. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/meal-type/{id}/cascading/: get: operationId: apiMealTypeCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this meal type. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/meal-type/{id}/nulling/: get: operationId: apiMealTypeNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this meal type. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/meal-type/{id}/protecting/: get: operationId: apiMealTypeProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this meal type. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/open-data-FDC/{id}/: get: operationId: apiOpenDataFDCRetrieve parameters: - in: path name: id schema: type: string required: true tags: - api security: - ApiKeyAuth: [] responses: '200': description: No response body /api/open-data-category/: get: operationId: apiOpenDataCategoryList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOpenDataCategoryList' description: '' post: operationId: apiOpenDataCategoryCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataCategory' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataCategory' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataCategory' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/OpenDataCategory' description: '' /api/open-data-category/{id}/: get: operationId: apiOpenDataCategoryRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data category. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataCategory' description: '' put: operationId: apiOpenDataCategoryUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data category. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataCategory' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataCategory' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataCategory' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataCategory' description: '' patch: operationId: apiOpenDataCategoryPartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data category. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedOpenDataCategory' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedOpenDataCategory' multipart/form-data: schema: $ref: '#/components/schemas/PatchedOpenDataCategory' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataCategory' description: '' delete: operationId: apiOpenDataCategoryDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data category. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/open-data-conversion/: get: operationId: apiOpenDataConversionList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOpenDataConversionList' description: '' post: operationId: apiOpenDataConversionCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataConversion' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataConversion' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataConversion' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/OpenDataConversion' description: '' /api/open-data-conversion/{id}/: get: operationId: apiOpenDataConversionRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data conversion. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataConversion' description: '' put: operationId: apiOpenDataConversionUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data conversion. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataConversion' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataConversion' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataConversion' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataConversion' description: '' patch: operationId: apiOpenDataConversionPartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data conversion. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedOpenDataConversion' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedOpenDataConversion' multipart/form-data: schema: $ref: '#/components/schemas/PatchedOpenDataConversion' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataConversion' description: '' delete: operationId: apiOpenDataConversionDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data conversion. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/open-data-food/: get: operationId: apiOpenDataFoodList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOpenDataFoodList' description: '' post: operationId: apiOpenDataFoodCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataFood' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataFood' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataFood' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/OpenDataFood' description: '' /api/open-data-food/{id}/: get: operationId: apiOpenDataFoodRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data food. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataFood' description: '' put: operationId: apiOpenDataFoodUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data food. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataFood' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataFood' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataFood' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataFood' description: '' patch: operationId: apiOpenDataFoodPartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data food. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedOpenDataFood' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedOpenDataFood' multipart/form-data: schema: $ref: '#/components/schemas/PatchedOpenDataFood' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataFood' description: '' delete: operationId: apiOpenDataFoodDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data food. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/open-data-food/{id}/fdc/: post: operationId: apiOpenDataFoodFdcCreate description: 'updates the food with all possible data from the FDC Api if properties with a fdc_id already exist they will be overridden, if existing properties don''t have a fdc_id they won''t be changed' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data food. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataFood' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataFood' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataFood' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataFood' description: '' /api/open-data-property/: get: operationId: apiOpenDataPropertyList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOpenDataPropertyList' description: '' post: operationId: apiOpenDataPropertyCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataProperty' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataProperty' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataProperty' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/OpenDataProperty' description: '' /api/open-data-property/{id}/: get: operationId: apiOpenDataPropertyRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data property. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataProperty' description: '' put: operationId: apiOpenDataPropertyUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data property. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataProperty' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataProperty' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataProperty' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataProperty' description: '' patch: operationId: apiOpenDataPropertyPartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data property. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedOpenDataProperty' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedOpenDataProperty' multipart/form-data: schema: $ref: '#/components/schemas/PatchedOpenDataProperty' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataProperty' description: '' delete: operationId: apiOpenDataPropertyDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data property. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/open-data-stats/: get: operationId: apiOpenDataStatsRetrieve tags: - api security: - ApiKeyAuth: [] responses: '200': description: No response body /api/open-data-store/: get: operationId: apiOpenDataStoreList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOpenDataStoreList' description: '' post: operationId: apiOpenDataStoreCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataStore' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataStore' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataStore' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/OpenDataStore' description: '' /api/open-data-store/{id}/: get: operationId: apiOpenDataStoreRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data store. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataStore' description: '' put: operationId: apiOpenDataStoreUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data store. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataStore' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataStore' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataStore' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataStore' description: '' patch: operationId: apiOpenDataStorePartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data store. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedOpenDataStore' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedOpenDataStore' multipart/form-data: schema: $ref: '#/components/schemas/PatchedOpenDataStore' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataStore' description: '' delete: operationId: apiOpenDataStoreDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data store. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/open-data-unit/: get: operationId: apiOpenDataUnitList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOpenDataUnitList' description: '' post: operationId: apiOpenDataUnitCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataUnit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataUnit' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataUnit' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/OpenDataUnit' description: '' /api/open-data-unit/{id}/: get: operationId: apiOpenDataUnitRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data unit. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataUnit' description: '' put: operationId: apiOpenDataUnitUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data unit. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataUnit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataUnit' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataUnit' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataUnit' description: '' patch: operationId: apiOpenDataUnitPartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data unit. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedOpenDataUnit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedOpenDataUnit' multipart/form-data: schema: $ref: '#/components/schemas/PatchedOpenDataUnit' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataUnit' description: '' delete: operationId: apiOpenDataUnitDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data unit. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/open-data-version/: get: operationId: apiOpenDataVersionList parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOpenDataVersionList' description: '' post: operationId: apiOpenDataVersionCreate tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataVersion' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataVersion' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataVersion' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/OpenDataVersion' description: '' /api/open-data-version/{id}/: get: operationId: apiOpenDataVersionRetrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data version. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataVersion' description: '' put: operationId: apiOpenDataVersionUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data version. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/OpenDataVersion' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OpenDataVersion' multipart/form-data: schema: $ref: '#/components/schemas/OpenDataVersion' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataVersion' description: '' patch: operationId: apiOpenDataVersionPartialUpdate parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data version. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedOpenDataVersion' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedOpenDataVersion' multipart/form-data: schema: $ref: '#/components/schemas/PatchedOpenDataVersion' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OpenDataVersion' description: '' delete: operationId: apiOpenDataVersionDestroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this open data version. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/property/: get: operationId: apiPropertyList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedPropertyList' description: '' post: operationId: apiPropertyCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Property' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Property' multipart/form-data: schema: $ref: '#/components/schemas/Property' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Property' description: '' /api/property-type/: get: operationId: apiPropertyTypeList description: logs request counts to redis cache total/per user/ parameters: - in: query name: category schema: type: array items: type: string enum: - ALLERGEN - GOAL - NUTRITION - OTHER - PRICE description: Return the PropertyTypes matching the property category. Repeat for multiple. - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedPropertyTypeList' description: '' post: operationId: apiPropertyTypeCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PropertyType' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PropertyType' multipart/form-data: schema: $ref: '#/components/schemas/PropertyType' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/PropertyType' description: '' /api/property-type/{id}/: get: operationId: apiPropertyTypeRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this property type. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PropertyType' description: '' put: operationId: apiPropertyTypeUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this property type. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PropertyType' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PropertyType' multipart/form-data: schema: $ref: '#/components/schemas/PropertyType' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PropertyType' description: '' patch: operationId: apiPropertyTypePartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this property type. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedPropertyType' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedPropertyType' multipart/form-data: schema: $ref: '#/components/schemas/PatchedPropertyType' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PropertyType' description: '' delete: operationId: apiPropertyTypeDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this property type. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/property-type/{id}/cascading/: get: operationId: apiPropertyTypeCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this property type. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/property-type/{id}/nulling/: get: operationId: apiPropertyTypeNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this property type. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/property-type/{id}/protecting/: get: operationId: apiPropertyTypeProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this property type. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/property/{id}/: get: operationId: apiPropertyRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this property. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Property' description: '' put: operationId: apiPropertyUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this property. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Property' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Property' multipart/form-data: schema: $ref: '#/components/schemas/Property' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Property' description: '' patch: operationId: apiPropertyPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this property. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProperty' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProperty' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProperty' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Property' description: '' delete: operationId: apiPropertyDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this property. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/recipe/: get: operationId: apiRecipeList description: logs request counts to redis cache total/per user/ parameters: - in: query name: books schema: type: array items: type: integer description: ID of book a recipe should be in. For multiple repeat parameter. - in: query name: books_and schema: type: array items: type: integer description: Book IDs, repeat for multiple. Return recipes with all of the books. - in: query name: books_and_not schema: type: array items: type: integer description: Book IDs, repeat for multiple. Exclude recipes with all of the books. - in: query name: books_or schema: type: array items: type: integer description: Book IDs, repeat for multiple. Return recipes with any of the books - in: query name: books_or_not schema: type: array items: type: integer description: Book IDs, repeat for multiple. Exclude recipes with any of the books. - in: query name: cookedon_gte schema: type: string format: date description: Filter recipes last cooked on the given date or after. - in: query name: cookedon_lte schema: type: string format: date description: Filter recipes last cooked on the given date or before. - in: query name: createdby schema: type: integer description: Filter recipes for ones created by the given user ID - in: query name: createdon schema: type: string format: date description: Filter recipes created on the given date. - in: query name: createdon_gte schema: type: string format: date description: Filter recipes created on the given date or after. - in: query name: createdon_lte schema: type: string format: date description: Filter recipes created on the given date or before. - in: query name: filter schema: type: integer description: ID of a custom filter. Returns all recipes matched by that filter. - in: query name: foods schema: type: array items: type: integer description: ID of food a recipe should have. For multiple repeat parameter. - in: query name: foods_and schema: type: array items: type: integer description: Food IDs, repeat for multiple. Return recipes with all of the foods. - in: query name: foods_and_not schema: type: array items: type: integer description: Food IDs, repeat for multiple. Exclude recipes with all of the foods. - in: query name: foods_or schema: type: array items: type: integer description: Food IDs, repeat for multiple. Return recipes with any of the foods - in: query name: foods_or_not schema: type: array items: type: integer description: Food IDs, repeat for multiple. Exclude recipes with any of the foods. - in: query name: include_children schema: type: boolean description: Include child keywords and foods in search results. [true/false] - in: query name: internal schema: type: boolean description: If only internal recipes should be returned. [true/false] - in: query name: keywords schema: type: array items: type: integer description: ID of keyword a recipe should have. For multiple repeat parameter. Equivalent to keywords_or - in: query name: keywords_and schema: type: array items: type: integer description: Keyword IDs, repeat for multiple. Return recipes with all of the keywords. - in: query name: keywords_and_not schema: type: array items: type: integer description: Keyword IDs, repeat for multiple. Exclude recipes with all of the keywords. - in: query name: keywords_or schema: type: array items: type: integer description: Keyword IDs, repeat for multiple. Return recipes with any of the keywords - in: query name: keywords_or_not schema: type: array items: type: integer description: Keyword IDs, repeat for multiple. Exclude recipes with any of the keywords. - in: query name: makenow schema: type: boolean description: Filter recipes that can be made with OnHand food. [true/false] - in: query name: new schema: type: boolean description: Returns new results first in search results. [true/false] - in: query name: num_recent schema: type: integer description: Returns the given number of recently viewed recipes before search results (if given) - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: Query string matched (fuzzy) against recipe name. In the future also fulltext search. - in: query name: random schema: type: boolean description: Returns the results in randomized order. [true/false] - in: query name: rating schema: type: integer description: Exact rating of recipe - in: query name: rating_gte schema: type: integer description: Rating a recipe should have or greater. - in: query name: rating_lte schema: type: integer description: Rating a recipe should have or smaller. - in: query name: sort_order schema: type: string description: 'Determines the order of the results. Options are: score,-score,name,-name,lastcooked,-lastcooked,rating,-rating,times_cooked,-times_cooked,created_at,-created_at,lastviewed,-lastviewed' - in: query name: timescooked schema: type: integer description: Filter recipes cooked X times. - in: query name: timescooked_gte schema: type: integer description: Filter recipes cooked X times or more. - in: query name: timescooked_lte schema: type: integer description: Filter recipes cooked X times or less. - in: query name: units schema: type: integer description: ID of unit a recipe should have. - in: query name: updatedon schema: type: string format: date description: Filter recipes updated on the given date. - in: query name: updatedon_gte schema: type: string format: date description: Filter recipes updated on the given date. - in: query name: updatedon_lte schema: type: string format: date description: Filter recipes updated on the given date. - in: query name: viewedon_gte schema: type: string format: date description: Filter recipes lasts viewed on the given date. - in: query name: viewedon_lte schema: type: string format: date description: Filter recipes lasts viewed on the given date. tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedRecipeOverviewList' description: '' post: operationId: apiRecipeCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Recipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Recipe' multipart/form-data: schema: $ref: '#/components/schemas/Recipe' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' /api/recipe-book/: get: operationId: apiRecipeBookList description: logs request counts to redis cache total/per user/ parameters: - in: query name: limit schema: type: string description: limit number of entries to return - in: query name: order_direction schema: type: string enum: - asc - desc description: Order ascending or descending - in: query name: order_field schema: type: string enum: - id - name - order description: Field to order recipe books on - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime examples: DateFormat: value: '1972-12-05' summary: Date Format tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedRecipeBookList' description: '' post: operationId: apiRecipeBookCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeBook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeBook' multipart/form-data: schema: $ref: '#/components/schemas/RecipeBook' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/RecipeBook' description: '' /api/recipe-book-entry/: get: operationId: apiRecipeBookEntryList description: logs request counts to redis cache total/per user/ parameters: - in: query name: book schema: type: integer description: id of book - only return recipes in that book - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: recipe schema: type: integer description: id of recipe - only return books for that recipe tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedRecipeBookEntryList' description: '' post: operationId: apiRecipeBookEntryCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeBookEntry' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeBookEntry' multipart/form-data: schema: $ref: '#/components/schemas/RecipeBookEntry' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/RecipeBookEntry' description: '' /api/recipe-book-entry/{id}/: get: operationId: apiRecipeBookEntryRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe book entry. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeBookEntry' description: '' put: operationId: apiRecipeBookEntryUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe book entry. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeBookEntry' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeBookEntry' multipart/form-data: schema: $ref: '#/components/schemas/RecipeBookEntry' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeBookEntry' description: '' patch: operationId: apiRecipeBookEntryPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe book entry. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedRecipeBookEntry' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedRecipeBookEntry' multipart/form-data: schema: $ref: '#/components/schemas/PatchedRecipeBookEntry' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeBookEntry' description: '' delete: operationId: apiRecipeBookEntryDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe book entry. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/recipe-book/{id}/: get: operationId: apiRecipeBookRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe book. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeBook' description: '' put: operationId: apiRecipeBookUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe book. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeBook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeBook' multipart/form-data: schema: $ref: '#/components/schemas/RecipeBook' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeBook' description: '' patch: operationId: apiRecipeBookPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe book. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedRecipeBook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedRecipeBook' multipart/form-data: schema: $ref: '#/components/schemas/PatchedRecipeBook' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeBook' description: '' delete: operationId: apiRecipeBookDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe book. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/recipe-book/{id}/cascading/: get: operationId: apiRecipeBookCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this recipe book. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/recipe-book/{id}/nulling/: get: operationId: apiRecipeBookNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this recipe book. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/recipe-book/{id}/protecting/: get: operationId: apiRecipeBookProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this recipe book. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/recipe-from-source/: post: operationId: apiRecipeFromSourceCreate description: "function to retrieve a recipe from a given url or source string\n:param request: standard request with additional post parameters\n - url: url to use for importing recipe\n - data: if no url is given recipe is imported from provided source data\n - (optional) bookmarklet: id of bookmarklet import to use, overrides URL and data attributes\n:return: JsonResponse containing the parsed json and images" tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeFromSource' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeFromSource' multipart/form-data: schema: $ref: '#/components/schemas/RecipeFromSource' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeFromSourceResponse' description: '' /api/recipe-import/: get: operationId: apiRecipeImportList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedRecipeImportList' description: '' post: operationId: apiRecipeImportCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeImport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeImport' multipart/form-data: schema: $ref: '#/components/schemas/RecipeImport' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/RecipeImport' description: '' /api/recipe-import/{id}/: get: operationId: apiRecipeImportRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe import. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeImport' description: '' put: operationId: apiRecipeImportUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe import. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeImport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeImport' multipart/form-data: schema: $ref: '#/components/schemas/RecipeImport' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeImport' description: '' patch: operationId: apiRecipeImportPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe import. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedRecipeImport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedRecipeImport' multipart/form-data: schema: $ref: '#/components/schemas/PatchedRecipeImport' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeImport' description: '' delete: operationId: apiRecipeImportDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe import. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/recipe-import/{id}/import_recipe/: post: operationId: apiRecipeImportImportRecipeCreate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe import. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeImport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeImport' multipart/form-data: schema: $ref: '#/components/schemas/RecipeImport' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' /api/recipe-import/import_all/: post: operationId: apiRecipeImportImportAllCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeImport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeImport' multipart/form-data: schema: $ref: '#/components/schemas/RecipeImport' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeImport' description: '' /api/recipe/{id}/: get: operationId: apiRecipeRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true - in: query name: share schema: type: string tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' put: operationId: apiRecipeUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Recipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Recipe' multipart/form-data: schema: $ref: '#/components/schemas/Recipe' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' patch: operationId: apiRecipePartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedRecipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedRecipe' multipart/form-data: schema: $ref: '#/components/schemas/PatchedRecipe' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' delete: operationId: apiRecipeDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/recipe/{id}/aiproperties/: post: operationId: apiRecipeAipropertiesCreate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true - in: query name: provider schema: type: integer description: ID of the AI provider that should be used for this AI request tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Recipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Recipe' multipart/form-data: schema: $ref: '#/components/schemas/Recipe' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' /api/recipe/{id}/cascading/: get: operationId: apiRecipeCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/recipe/{id}/delete_external/: patch: operationId: apiRecipeDeleteExternalPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedRecipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedRecipe' multipart/form-data: schema: $ref: '#/components/schemas/PatchedRecipe' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Recipe' description: '' /api/recipe/{id}/image/: put: operationId: apiRecipeImageUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/RecipeImage' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeImage' description: '' /api/recipe/{id}/nulling/: get: operationId: apiRecipeNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/recipe/{id}/protecting/: get: operationId: apiRecipeProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/recipe/{id}/related/: get: operationId: apiRecipeRelatedList description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/RecipeSimple' description: '' /api/recipe/{id}/shopping/: put: operationId: apiRecipeShoppingUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this recipe. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeShoppingUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeShoppingUpdate' multipart/form-data: schema: $ref: '#/components/schemas/RecipeShoppingUpdate' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeShoppingUpdate' description: '' /api/recipe/batch_update/: put: operationId: apiRecipeBatchUpdateUpdate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/RecipeBatchUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RecipeBatchUpdate' multipart/form-data: schema: $ref: '#/components/schemas/RecipeBatchUpdate' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecipeBatchUpdate' description: '' /api/recipe/flat/: get: operationId: apiRecipeFlatList description: logs request counts to redis cache total/per user/ tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/RecipeFlat' description: '' /api/reset-food-inheritance/: post: operationId: apiResetFoodInheritanceCreate description: function to reset inheritance from api, see food method for docs tags: - api security: - ApiKeyAuth: [] responses: '200': description: No response body /api/search-fields/: get: operationId: apiSearchFieldsList description: logs request counts to redis cache total/per user/ tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/SearchFields' description: '' /api/search-fields/{id}/: get: operationId: apiSearchFieldsRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this search fields. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SearchFields' description: '' /api/search-preference/: get: operationId: apiSearchPreferenceList description: logs request counts to redis cache total/per user/ tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/SearchPreference' description: '' /api/search-preference/{user}/: get: operationId: apiSearchPreferenceRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: user schema: type: integer description: A unique value identifying this search preference. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SearchPreference' description: '' patch: operationId: apiSearchPreferencePartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: user schema: type: integer description: A unique value identifying this search preference. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSearchPreference' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSearchPreference' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSearchPreference' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SearchPreference' description: '' /api/server-settings/current/: get: operationId: apiServerSettingsCurrentRetrieve tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ServerSettings' description: '' /api/share-link/{id}: get: operationId: apiShareLinkRetrieve parameters: - in: path name: id schema: type: integer required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShareLink' description: '' /api/shopping-list/: get: operationId: apiShoppingListList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedShoppingListList' description: '' post: operationId: apiShoppingListCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingList' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ShoppingList' multipart/form-data: schema: $ref: '#/components/schemas/ShoppingList' security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ShoppingList' description: '' /api/shopping-list-entry/: get: operationId: apiShoppingListEntryList description: 'individual entries of a shopping list automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint' parameters: - in: query name: mealplan schema: type: integer description: Returns only entries associated with the given mealplan id - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: updated_after schema: type: string format: date-time description: Returns only elements updated after the given timestamp in ISO 8601 format. tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedShoppingListEntryList' description: '' post: operationId: apiShoppingListEntryCreate description: 'individual entries of a shopping list automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint' tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListEntry' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ShoppingListEntry' multipart/form-data: schema: $ref: '#/components/schemas/ShoppingListEntry' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ShoppingListEntry' description: '' /api/shopping-list-entry/{id}/: get: operationId: apiShoppingListEntryRetrieve description: 'individual entries of a shopping list automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list entry. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShoppingListEntry' description: '' put: operationId: apiShoppingListEntryUpdate description: 'individual entries of a shopping list automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list entry. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListEntry' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ShoppingListEntry' multipart/form-data: schema: $ref: '#/components/schemas/ShoppingListEntry' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShoppingListEntry' description: '' patch: operationId: apiShoppingListEntryPartialUpdate description: 'individual entries of a shopping list automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list entry. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedShoppingListEntry' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedShoppingListEntry' multipart/form-data: schema: $ref: '#/components/schemas/PatchedShoppingListEntry' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShoppingListEntry' description: '' delete: operationId: apiShoppingListEntryDestroy description: 'individual entries of a shopping list automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list entry. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/shopping-list-entry/bulk/: post: operationId: apiShoppingListEntryBulkCreate description: 'individual entries of a shopping list automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint' tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListEntryBulk' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ShoppingListEntryBulk' multipart/form-data: schema: $ref: '#/components/schemas/ShoppingListEntryBulk' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShoppingListEntryBulk' description: '' /api/shopping-list-recipe/: get: operationId: apiShoppingListRecipeList description: logs request counts to redis cache total/per user/ parameters: - in: query name: mealplan schema: type: integer description: Returns only entries associated with the given mealplan id - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedShoppingListRecipeList' description: '' post: operationId: apiShoppingListRecipeCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListRecipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ShoppingListRecipe' multipart/form-data: schema: $ref: '#/components/schemas/ShoppingListRecipe' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ShoppingListRecipe' description: '' /api/shopping-list-recipe/{id}/: get: operationId: apiShoppingListRecipeRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list recipe. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShoppingListRecipe' description: '' put: operationId: apiShoppingListRecipeUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list recipe. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListRecipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ShoppingListRecipe' multipart/form-data: schema: $ref: '#/components/schemas/ShoppingListRecipe' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShoppingListRecipe' description: '' patch: operationId: apiShoppingListRecipePartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list recipe. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedShoppingListRecipe' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedShoppingListRecipe' multipart/form-data: schema: $ref: '#/components/schemas/PatchedShoppingListRecipe' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShoppingListRecipe' description: '' delete: operationId: apiShoppingListRecipeDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list recipe. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/shopping-list-recipe/{id}/bulk_create_entries/: post: operationId: apiShoppingListRecipeBulkCreateEntriesCreate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list recipe. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListEntryBulkCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ShoppingListEntryBulkCreate' multipart/form-data: schema: $ref: '#/components/schemas/ShoppingListEntryBulkCreate' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShoppingListEntryBulkCreate' description: '' /api/shopping-list/{id}/: get: operationId: apiShoppingListRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShoppingList' description: '' put: operationId: apiShoppingListUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingList' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ShoppingList' multipart/form-data: schema: $ref: '#/components/schemas/ShoppingList' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShoppingList' description: '' patch: operationId: apiShoppingListPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedShoppingList' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedShoppingList' multipart/form-data: schema: $ref: '#/components/schemas/PatchedShoppingList' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShoppingList' description: '' delete: operationId: apiShoppingListDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/shopping-list/{id}/cascading/: get: operationId: apiShoppingListCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/shopping-list/{id}/nulling/: get: operationId: apiShoppingListNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/shopping-list/{id}/protecting/: get: operationId: apiShoppingListProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this shopping list. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/space/: get: operationId: apiSpaceList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSpaceList' description: '' post: operationId: apiSpaceCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Space' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Space' multipart/form-data: schema: $ref: '#/components/schemas/Space' security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Space' description: '' /api/space/{id}/: get: operationId: apiSpaceRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this space. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Space' description: '' put: operationId: apiSpaceUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this space. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Space' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Space' multipart/form-data: schema: $ref: '#/components/schemas/Space' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Space' description: '' patch: operationId: apiSpacePartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this space. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSpace' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSpace' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSpace' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Space' description: '' /api/space/current/: get: operationId: apiSpaceCurrentRetrieve description: logs request counts to redis cache total/per user/ tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Space' description: '' /api/step/: get: operationId: apiStepList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: Query string matched (fuzzy) against object name. - in: query name: recipe schema: type: array items: type: integer description: ID of recipe a step is part of. For multiple repeat parameter. tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedStepList' description: '' post: operationId: apiStepCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Step' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Step' multipart/form-data: schema: $ref: '#/components/schemas/Step' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Step' description: '' /api/step/{id}/: get: operationId: apiStepRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this step. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Step' description: '' put: operationId: apiStepUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this step. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Step' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Step' multipart/form-data: schema: $ref: '#/components/schemas/Step' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Step' description: '' patch: operationId: apiStepPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this step. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedStep' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedStep' multipart/form-data: schema: $ref: '#/components/schemas/PatchedStep' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Step' description: '' delete: operationId: apiStepDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this step. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/storage/: get: operationId: apiStorageList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedStorageList' description: '' post: operationId: apiStorageCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Storage' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Storage' multipart/form-data: schema: $ref: '#/components/schemas/Storage' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Storage' description: '' /api/storage/{id}/: get: operationId: apiStorageRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this storage. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Storage' description: '' put: operationId: apiStorageUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this storage. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Storage' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Storage' multipart/form-data: schema: $ref: '#/components/schemas/Storage' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Storage' description: '' patch: operationId: apiStoragePartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this storage. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedStorage' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedStorage' multipart/form-data: schema: $ref: '#/components/schemas/PatchedStorage' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Storage' description: '' delete: operationId: apiStorageDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this storage. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/storage/{id}/cascading/: get: operationId: apiStorageCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this storage. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/storage/{id}/nulling/: get: operationId: apiStorageNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this storage. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/storage/{id}/protecting/: get: operationId: apiStorageProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this storage. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/supermarket/: get: operationId: apiSupermarketList description: logs request counts to redis cache total/per user/ parameters: - in: query name: limit schema: type: string description: limit number of entries to return - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime examples: DateFormat: value: '1972-12-05' summary: Date Format tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSupermarketList' description: '' post: operationId: apiSupermarketCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Supermarket' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Supermarket' multipart/form-data: schema: $ref: '#/components/schemas/Supermarket' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Supermarket' description: '' /api/supermarket-category/: get: operationId: apiSupermarketCategoryList description: logs request counts to redis cache total/per user/ parameters: - in: query name: limit schema: type: string description: limit number of entries to return - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSupermarketCategoryList' description: '' post: operationId: apiSupermarketCategoryCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/SupermarketCategory' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SupermarketCategory' multipart/form-data: schema: $ref: '#/components/schemas/SupermarketCategory' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/SupermarketCategory' description: '' /api/supermarket-category-relation/: get: operationId: apiSupermarketCategoryRelationList description: logs request counts to redis cache total/per user/ parameters: - in: query name: limit schema: type: string description: limit number of entries to return - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime examples: DateFormat: value: '1972-12-05' summary: Date Format tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSupermarketCategoryRelationList' description: '' post: operationId: apiSupermarketCategoryRelationCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/SupermarketCategoryRelation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SupermarketCategoryRelation' multipart/form-data: schema: $ref: '#/components/schemas/SupermarketCategoryRelation' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/SupermarketCategoryRelation' description: '' /api/supermarket-category-relation/{id}/: get: operationId: apiSupermarketCategoryRelationRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category relation. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SupermarketCategoryRelation' description: '' put: operationId: apiSupermarketCategoryRelationUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category relation. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/SupermarketCategoryRelation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SupermarketCategoryRelation' multipart/form-data: schema: $ref: '#/components/schemas/SupermarketCategoryRelation' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SupermarketCategoryRelation' description: '' patch: operationId: apiSupermarketCategoryRelationPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category relation. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSupermarketCategoryRelation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSupermarketCategoryRelation' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSupermarketCategoryRelation' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SupermarketCategoryRelation' description: '' delete: operationId: apiSupermarketCategoryRelationDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category relation. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/supermarket-category/{id}/: get: operationId: apiSupermarketCategoryRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SupermarketCategory' description: '' put: operationId: apiSupermarketCategoryUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/SupermarketCategory' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SupermarketCategory' multipart/form-data: schema: $ref: '#/components/schemas/SupermarketCategory' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SupermarketCategory' description: '' patch: operationId: apiSupermarketCategoryPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSupermarketCategory' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSupermarketCategory' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSupermarketCategory' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SupermarketCategory' description: '' delete: operationId: apiSupermarketCategoryDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/supermarket-category/{id}/cascading/: get: operationId: apiSupermarketCategoryCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/supermarket-category/{id}/merge/{target}/: put: operationId: apiSupermarketCategoryMergeUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category. required: true - in: path name: target schema: type: integer description: The ID of the {obj} you want to merge with. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/SupermarketCategory' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SupermarketCategory' multipart/form-data: schema: $ref: '#/components/schemas/SupermarketCategory' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SupermarketCategory' description: '' /api/supermarket-category/{id}/nulling/: get: operationId: apiSupermarketCategoryNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/supermarket-category/{id}/protecting/: get: operationId: apiSupermarketCategoryProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket category. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/supermarket/{id}/: get: operationId: apiSupermarketRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Supermarket' description: '' put: operationId: apiSupermarketUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Supermarket' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Supermarket' multipart/form-data: schema: $ref: '#/components/schemas/Supermarket' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Supermarket' description: '' patch: operationId: apiSupermarketPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSupermarket' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSupermarket' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSupermarket' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Supermarket' description: '' delete: operationId: apiSupermarketDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/supermarket/{id}/cascading/: get: operationId: apiSupermarketCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/supermarket/{id}/nulling/: get: operationId: apiSupermarketNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/supermarket/{id}/protecting/: get: operationId: apiSupermarketProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this supermarket. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/switch-active-space/{spaceId}/: get: operationId: apiSwitchActiveSpaceRetrieve description: api endpoint to switch space function parameters: - in: path name: spaceId schema: type: integer required: true tags: - api security: - ApiKeyAuth: [] responses: '200': description: No response body /api/sync/: get: operationId: apiSyncList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSyncList' description: '' post: operationId: apiSyncCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Sync' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Sync' multipart/form-data: schema: $ref: '#/components/schemas/Sync' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Sync' description: '' /api/sync-log/: get: operationId: apiSyncLogList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSyncLogList' description: '' /api/sync-log/{id}/: get: operationId: apiSyncLogRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this sync log. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SyncLog' description: '' /api/sync/{id}/: get: operationId: apiSyncRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this sync. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sync' description: '' put: operationId: apiSyncUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this sync. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Sync' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Sync' multipart/form-data: schema: $ref: '#/components/schemas/Sync' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sync' description: '' patch: operationId: apiSyncPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this sync. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSync' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSync' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSync' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sync' description: '' delete: operationId: apiSyncDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this sync. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/sync/{id}/cascading/: get: operationId: apiSyncCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this sync. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/sync/{id}/nulling/: get: operationId: apiSyncNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this sync. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/sync/{id}/protecting/: get: operationId: apiSyncProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this sync. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/sync/{id}/query_synced_folder/: post: operationId: apiSyncQuerySyncedFolderCreate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this sync. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Sync' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Sync' multipart/form-data: schema: $ref: '#/components/schemas/Sync' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SyncLog' description: '' /api/unit/: get: operationId: apiUnitList description: logs request counts to redis cache total/per user/ parameters: - in: query name: limit schema: type: string description: limit number of entries to return - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedUnitList' description: '' post: operationId: apiUnitCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Unit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Unit' multipart/form-data: schema: $ref: '#/components/schemas/Unit' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Unit' description: '' /api/unit-conversion/: get: operationId: apiUnitConversionList description: logs request counts to redis cache total/per user/ parameters: - in: query name: food_id schema: type: integer description: ID of food to filter for - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: query that looks into food, base unit or converted unit by name tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedUnitConversionList' description: '' post: operationId: apiUnitConversionCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/UnitConversion' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UnitConversion' multipart/form-data: schema: $ref: '#/components/schemas/UnitConversion' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnitConversion' description: '' /api/unit-conversion/{id}/: get: operationId: apiUnitConversionRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this unit conversion. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UnitConversion' description: '' put: operationId: apiUnitConversionUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this unit conversion. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/UnitConversion' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UnitConversion' multipart/form-data: schema: $ref: '#/components/schemas/UnitConversion' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UnitConversion' description: '' patch: operationId: apiUnitConversionPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this unit conversion. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedUnitConversion' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedUnitConversion' multipart/form-data: schema: $ref: '#/components/schemas/PatchedUnitConversion' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UnitConversion' description: '' delete: operationId: apiUnitConversionDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this unit conversion. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/unit/{id}/: get: operationId: apiUnitRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this unit. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Unit' description: '' put: operationId: apiUnitUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this unit. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Unit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Unit' multipart/form-data: schema: $ref: '#/components/schemas/Unit' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Unit' description: '' patch: operationId: apiUnitPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this unit. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedUnit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedUnit' multipart/form-data: schema: $ref: '#/components/schemas/PatchedUnit' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Unit' description: '' delete: operationId: apiUnitDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this unit. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/unit/{id}/cascading/: get: operationId: apiUnitCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this unit. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/unit/{id}/merge/{target}/: put: operationId: apiUnitMergeUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this unit. required: true - in: path name: target schema: type: integer description: The ID of the {obj} you want to merge with. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/Unit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Unit' multipart/form-data: schema: $ref: '#/components/schemas/Unit' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Unit' description: '' /api/unit/{id}/nulling/: get: operationId: apiUnitNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this unit. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/unit/{id}/protecting/: get: operationId: apiUnitProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this unit. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/user/: get: operationId: apiUserList description: logs request counts to redis cache total/per user/ parameters: - in: query name: filter_list schema: type: array items: type: string description: User IDs, repeat for multiple tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/User' description: '' /api/user-file/: get: operationId: apiUserFileList description: logs request counts to redis cache total/per user/ parameters: - in: query name: limit schema: type: string description: limit number of entries to return - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: query schema: type: string description: lookup if query string is contained within the name, case insensitive - in: query name: random schema: type: string description: randomly orders entries (only works together with limit) - in: query name: updated_at schema: type: string description: if model has an updated_at timestamp, filter only models updated at or after datetime examples: DateFormat: value: '1972-12-05' summary: Date Format tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedUserFileList' description: '' post: operationId: apiUserFileCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/UserFile' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/UserFile' description: '' /api/user-file/{id}/: get: operationId: apiUserFileRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this user file. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserFile' description: '' put: operationId: apiUserFileUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this user file. required: true tags: - api requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/UserFile' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserFile' description: '' patch: operationId: apiUserFilePartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this user file. required: true tags: - api requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PatchedUserFile' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserFile' description: '' delete: operationId: apiUserFileDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this user file. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/user-file/{id}/cascading/: get: operationId: apiUserFileCascadingList description: get a paginated list of objects that will be cascaded (deleted) when deleting the selected object parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this user file. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/user-file/{id}/nulling/: get: operationId: apiUserFileNullingList description: get a paginated list of objects where the selected object will be removed whe its deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this user file. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/user-file/{id}/protecting/: get: operationId: apiUserFileProtectingList description: get a paginated list of objects that are protecting the selected object form being deleted parameters: - in: query name: cache schema: type: boolean default: true description: If results can be cached or not - in: path name: id schema: type: integer description: A unique integer value identifying this user file. required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericModelReferenceList' description: '' /api/user-preference/: get: operationId: apiUserPreferenceList description: logs request counts to redis cache total/per user/ tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/UserPreference' description: '' /api/user-preference/{user}/: get: operationId: apiUserPreferenceRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: user schema: type: integer description: A unique value identifying this user preference. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserPreference' description: '' patch: operationId: apiUserPreferencePartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: user schema: type: integer description: A unique value identifying this user preference. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedUserPreference' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedUserPreference' multipart/form-data: schema: $ref: '#/components/schemas/PatchedUserPreference' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserPreference' description: '' /api/user-space/: get: operationId: apiUserSpaceList description: logs request counts to redis cache total/per user/ parameters: - in: query name: internal_note schema: type: string description: text field to store information about the invite link - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedUserSpaceList' description: '' /api/user-space/{id}/: get: operationId: apiUserSpaceRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this user space. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserSpace' description: '' put: operationId: apiUserSpaceUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this user space. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/UserSpace' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UserSpace' multipart/form-data: schema: $ref: '#/components/schemas/UserSpace' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserSpace' description: '' patch: operationId: apiUserSpacePartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this user space. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedUserSpace' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedUserSpace' multipart/form-data: schema: $ref: '#/components/schemas/PatchedUserSpace' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserSpace' description: '' delete: operationId: apiUserSpaceDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this user space. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body /api/user-space/all_personal/: get: operationId: apiUserSpaceAllPersonalList description: 'return all userspaces for the user requesting the endpoint :param request: :return:' tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/UserSpace' description: '' /api/user-space/batch_update/: put: operationId: apiUserSpaceBatchUpdateUpdate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/UserSpaceBatchUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UserSpaceBatchUpdate' multipart/form-data: schema: $ref: '#/components/schemas/UserSpaceBatchUpdate' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserSpaceBatchUpdate' description: '' /api/user/{id}/: get: operationId: apiUserRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this user. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/User' description: '' patch: operationId: apiUserPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this user. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedUser' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedUser' multipart/form-data: schema: $ref: '#/components/schemas/PatchedUser' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/User' description: '' /api/view-log/: get: operationId: apiViewLogList description: logs request counts to redis cache total/per user/ parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedViewLogList' description: '' post: operationId: apiViewLogCreate description: logs request counts to redis cache total/per user/ tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLog' multipart/form-data: schema: $ref: '#/components/schemas/ViewLog' required: true security: - ApiKeyAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ViewLog' description: '' /api/view-log/{id}/: get: operationId: apiViewLogRetrieve description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this view log. required: true tags: - api security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLog' description: '' put: operationId: apiViewLogUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this view log. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLog' multipart/form-data: schema: $ref: '#/components/schemas/ViewLog' required: true security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLog' description: '' patch: operationId: apiViewLogPartialUpdate description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this view log. required: true tags: - api requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedViewLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedViewLog' multipart/form-data: schema: $ref: '#/components/schemas/PatchedViewLog' security: - ApiKeyAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLog' description: '' delete: operationId: apiViewLogDestroy description: logs request counts to redis cache total/per user/ parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this view log. required: true tags: - api security: - ApiKeyAuth: [] responses: '204': description: No response body components: schemas: AlignmentEnum: enum: - start - center - end type: string description: '* `start` - start * `center` - center * `end` - end' ShoppingListEntryBulkCreate: type: object properties: entries: type: array items: $ref: '#/components/schemas/ShoppingListEntrySimpleCreate' shopping_lists_ids: type: array items: type: integer required: - entries RecipeBookEntry: type: object properties: id: type: integer readOnly: false book: type: integer book_content: allOf: - $ref: '#/components/schemas/RecipeBook' readOnly: true recipe: type: integer recipe_content: allOf: - $ref: '#/components/schemas/RecipeOverview' readOnly: true required: - book - book_content - recipe - recipe_content RecipeImage: type: object description: Adds nested create feature properties: image: type: - string - 'null' format: uri image_url: type: - string - 'null' maxLength: 4096 OpenDataVersion: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 128 code: type: string maxLength: 16 comment: type: string required: - code - name KeywordLabel: type: object properties: id: type: integer readOnly: false label: type: string readOnly: true required: - label SourceImportFood: type: object properties: name: type: string required: - name PatchedUser: type: object description: Adds nested create feature properties: id: type: integer readOnly: false username: type: string readOnly: true description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. first_name: type: string maxLength: 150 last_name: type: string maxLength: 150 display_name: type: string readOnly: true is_staff: type: boolean readOnly: true title: Staff status description: Designates whether the user can log into this admin site. is_superuser: type: boolean readOnly: true title: Superuser status description: Designates that this user has all permissions without explicitly assigning them. is_active: type: boolean readOnly: true title: Active description: Designates whether this user should be treated as active. Unselect this instead of deleting accounts. PatchedEnterpriseSocialEmbed: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 type: $ref: '#/components/schemas/EnterpriseSocialEmbedTypeEnum' keywords: type: array items: $ref: '#/components/schemas/Keyword' alignment: $ref: '#/components/schemas/AlignmentEnum' background_color: type: - string - 'null' maxLength: 32 accent_color: type: - string - 'null' maxLength: 32 uuid: type: string format: uuid PaginatedUnitList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Unit' timestamp: type: string format: date-time AccessToken: type: object properties: id: type: integer readOnly: false token: type: string readOnly: true expires: type: string format: date-time scope: type: string created: type: string format: date-time readOnly: true updated: type: string format: date-time readOnly: true required: - created - expires - token - updated OpenDataConversion: type: object description: Adds nested create feature properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 food: $ref: '#/components/schemas/OpenDataFood' base_amount: type: number format: double base_unit: $ref: '#/components/schemas/OpenDataUnit' converted_amount: type: number format: double converted_unit: $ref: '#/components/schemas/OpenDataUnit' source: type: string comment: type: string created_by: type: string readOnly: true required: - base_amount - base_unit - converted_amount - converted_unit - created_by - food - slug - source - version PaginatedMealTypeList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/MealType' timestamp: type: string format: date-time Supermarket: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 description: type: - string - 'null' shopping_lists: type: array items: $ref: '#/components/schemas/ShoppingList' category_to_supermarket: type: array items: $ref: '#/components/schemas/SupermarketCategoryRelation' readOnly: true open_data_slug: type: - string - 'null' maxLength: 128 required: - category_to_supermarket - name PaginatedKeywordList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Keyword' timestamp: type: string format: date-time GenericModelReference: type: object properties: id: type: integer readOnly: false model: type: string name: type: string required: - model - name PatchedConnectorConfig: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 type: $ref: '#/components/schemas/ConnectorConfigTypeEnum' url: type: - string - 'null' format: uri maxLength: 200 token: type: - string - 'null' writeOnly: true maxLength: 512 todo_entity: type: - string - 'null' maxLength: 128 enabled: type: boolean description: Is Connector Enabled on_shopping_list_entry_created_enabled: type: boolean on_shopping_list_entry_updated_enabled: type: boolean on_shopping_list_entry_deleted_enabled: type: boolean supports_description_field: type: boolean description: Does the todo entity support the description field created_by: type: integer readOnly: true CustomFilter: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 search: type: string shared: type: array items: $ref: '#/components/schemas/User' created_by: type: integer readOnly: true required: - created_by - name - search RecipeBatchUpdate: type: object properties: recipes: type: array items: type: integer keywords_add: type: array items: type: integer keywords_remove: type: array items: type: integer keywords_set: type: array items: type: integer keywords_remove_all: type: boolean default: false working_time: type: - integer - 'null' waiting_time: type: - integer - 'null' servings: type: - integer - 'null' servings_text: type: - string - 'null' private: type: - boolean - 'null' shared_add: type: array items: type: integer shared_remove: type: array items: type: integer shared_set: type: array items: type: integer shared_remove_all: type: boolean default: false show_ingredient_overview: type: - boolean - 'null' clear_description: type: - boolean - 'null' required: - keywords_add - keywords_remove - keywords_set - recipes - shared_add - shared_remove - shared_set ImportOpenDataResponse: type: object properties: food: $ref: '#/components/schemas/ImportOpenDataResponseDetail' unit: $ref: '#/components/schemas/ImportOpenDataResponseDetail' category: $ref: '#/components/schemas/ImportOpenDataResponseDetail' property: $ref: '#/components/schemas/ImportOpenDataResponseDetail' store: $ref: '#/components/schemas/ImportOpenDataResponseDetail' conversion: $ref: '#/components/schemas/ImportOpenDataResponseDetail' EnterpriseBillingPlan: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 256 max_users: type: integer maximum: 2147483647 minimum: -2147483648 max_recipes: type: integer maximum: 2147483647 minimum: -2147483648 max_file_storage_mb: type: integer maximum: 2147483647 minimum: -2147483648 description: Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload. ai_enabled: type: boolean ai_credits_monthly: type: integer maximum: 2147483647 minimum: -2147483648 ai_initial_credit_balance: type: number format: double description: number of credits to set the balance to for new subscriptions. exclusiveMinimum: -1000000000000 exclusiveMaximum: 1000000000000 price: type: number format: double exclusiveMinimum: -1000 exclusiveMaximum: 1000 price_discount: type: - number - 'null' format: double description: Discounted price to show, update price_id from Stripe to use, null to disable discount. exclusiveMinimum: -1000 exclusiveMaximum: 1000 discount_reason: type: - string - 'null' description: Text to show as reason for the discount maxLength: 256 months: type: integer maximum: 2147483647 minimum: -2147483648 price_id: type: string maxLength: 256 product_id: type: string maxLength: 256 managed: type: boolean featured: type: boolean disabled: type: boolean order: type: integer maximum: 2147483647 minimum: -2147483648 required: - max_users - name - price - price_id - product_id PatchedOpenDataCategory: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 name: type: string maxLength: 128 description: type: string maxLength: 512 comment: type: string created_by: type: string readOnly: true UserFile: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 128 file: type: string format: uri writeOnly: true file_download: type: string readOnly: true preview: type: string readOnly: true file_size_kb: type: integer readOnly: true created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time readOnly: true required: - created_at - created_by - file_download - file_size_kb - name - preview SpaceNavTextColorEnum: enum: - BLANK - LIGHT - DARK type: string description: '* `BLANK` - ------- * `LIGHT` - Light * `DARK` - Dark' EnterpriseSocialEmbedTypeEnum: enum: - RECIPE - RECIPE_KEYWORD - MEAL_PLAN - SHOPPING - BOOK type: string description: '* `RECIPE` - Recipe * `RECIPE_KEYWORD` - Recipe Keyword * `MEAL_PLAN` - Meal Plan * `SHOPPING` - Shopping * `BOOK` - Book' PaginatedOpenDataVersionList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/OpenDataVersion' timestamp: type: string format: date-time OpenDataCategory: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 name: type: string maxLength: 128 description: type: string maxLength: 512 comment: type: string created_by: type: string readOnly: true required: - created_by - name - slug - version PatchedFood: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 plural_name: type: - string - 'null' maxLength: 128 description: type: string shopping: type: string readOnly: true recipe: allOf: - $ref: '#/components/schemas/RecipeSimple' url: type: - string - 'null' maxLength: 1024 properties: type: - array - 'null' items: $ref: '#/components/schemas/Property' properties_food_amount: type: number format: double properties_food_unit: allOf: - $ref: '#/components/schemas/Unit' fdc_id: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 food_onhand: type: - boolean - 'null' supermarket_category: allOf: - $ref: '#/components/schemas/SupermarketCategory' parent: type: integer readOnly: true numchild: type: integer readOnly: true inherit_fields: type: - array - 'null' items: $ref: '#/components/schemas/FoodInheritField' full_name: type: string description: 'Returns a string representation of a tree node and it''s ancestors, e.g. ''Cuisine > Asian > Chinese > Catonese''.' readOnly: true ignore_shopping: type: boolean substitute: type: - array - 'null' items: $ref: '#/components/schemas/FoodSimple' substitute_siblings: type: boolean substitute_children: type: boolean substitute_onhand: type: boolean readOnly: true child_inherit_fields: type: - array - 'null' items: $ref: '#/components/schemas/FoodInheritField' open_data_slug: type: - string - 'null' maxLength: 128 shopping_lists: type: array items: $ref: '#/components/schemas/ShoppingList' PatchedMealType: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 order: type: integer maximum: 2147483647 minimum: -2147483648 time: type: - string - 'null' format: time color: type: - string - 'null' maxLength: 7 created_by: type: integer readOnly: true RecipeFromSourceResponse: type: object properties: recipe: $ref: '#/components/schemas/SourceImportRecipe' recipe_id: type: integer images: type: array items: type: string default: [] error: type: boolean default: false msg: type: string default: '' maxLength: 1024 duplicates: type: array items: $ref: '#/components/schemas/SourceImportDuplicate' default: [] RecipeSimple: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 url: type: string readOnly: true required: - name - url PaginatedHouseholdList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Household' timestamp: type: string format: date-time PaginatedCustomFilterList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/CustomFilter' timestamp: type: string format: date-time OpenDataUnit: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 name: type: string maxLength: 128 plural_name: type: string maxLength: 128 base_unit: $ref: '#/components/schemas/BaseUnitEnum' type: $ref: '#/components/schemas/OpenDataUnitTypeEnum' comment: type: string created_by: type: string readOnly: true required: - created_by - name - slug - type - version SourceImportDuplicate: type: object properties: id: type: integer readOnly: false name: type: string required: - name PatchedRecipeBook: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 description: type: string shared: type: array items: $ref: '#/components/schemas/User' created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true filter: allOf: - $ref: '#/components/schemas/CustomFilter' order: type: integer maximum: 2147483647 minimum: -2147483648 PaginatedOpenDataPropertyList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/OpenDataProperty' timestamp: type: string format: date-time Localization: type: object properties: code: type: string readOnly: true maxLength: 8 language: type: string readOnly: true required: - code - language PatchedUserSpace: type: object description: Adds nested create feature properties: id: type: integer readOnly: false user: allOf: - $ref: '#/components/schemas/User' readOnly: true space: type: integer readOnly: true groups: type: array items: $ref: '#/components/schemas/Group' household: allOf: - $ref: '#/components/schemas/Household' active: type: boolean internal_note: type: - string - 'null' invite_link: type: - integer - 'null' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedAccessToken: type: object properties: id: type: integer readOnly: false token: type: string readOnly: true expires: type: string format: date-time scope: type: string created: type: string format: date-time readOnly: true updated: type: string format: date-time readOnly: true PaginatedInventoryEntryList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/InventoryEntry' timestamp: type: string format: date-time PaginatedPropertyList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Property' timestamp: type: string format: date-time PaginatedPropertyTypeList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/PropertyType' timestamp: type: string format: date-time OpenDataFoodProperty: type: object description: Adds nested create feature properties: id: type: integer readOnly: false property: $ref: '#/components/schemas/OpenDataProperty' property_amount: type: number format: double required: - property - property_amount SupermarketCategory: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 description: type: - string - 'null' open_data_slug: type: - string - 'null' maxLength: 128 required: - name AiImport: type: object properties: ai_provider_id: type: integer file: type: - string - 'null' format: uri text: type: - string - 'null' recipe_id: type: - string - 'null' required: - ai_provider_id - file - recipe_id - text UserPreference: type: object description: Adds nested create feature properties: user: allOf: - $ref: '#/components/schemas/User' readOnly: true image: allOf: - $ref: '#/components/schemas/UserFileView' theme: $ref: '#/components/schemas/ThemeEnum' nav_bg_color: type: string maxLength: 8 nav_text_color: $ref: '#/components/schemas/UserPreferenceNavTextColorEnum' nav_show_logo: type: boolean default_unit: type: string maxLength: 32 default_page: $ref: '#/components/schemas/DefaultPageEnum' use_fractions: type: boolean use_kj: type: boolean nav_sticky: type: boolean ingredient_decimals: type: integer maximum: 2147483647 minimum: -2147483648 comments: type: boolean shopping_auto_sync: type: integer maximum: 2147483647 minimum: -2147483648 mealplan_autoadd_shopping: type: boolean food_inherit_default: allOf: - $ref: '#/components/schemas/FoodInheritField' readOnly: true default_delay: type: number format: double exclusiveMinimum: -10000 exclusiveMaximum: 10000 mealplan_autoinclude_related: type: boolean mealplan_autoexclude_onhand: type: boolean shopping_recent_days: type: integer maximum: 2147483647 minimum: 0 csv_delim: type: string maxLength: 2 csv_prefix: type: string maxLength: 10 shopping_update_food_lists: type: boolean default_meal_type: allOf: - $ref: '#/components/schemas/MealType' filter_to_supermarket: type: boolean shopping_add_onhand: type: boolean left_handed: type: boolean show_step_ingredients: type: boolean food_children_exist: type: boolean readOnly: true required: - food_children_exist - food_inherit_default - user Property: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false property_amount: type: - number - 'null' format: double property_type: $ref: '#/components/schemas/PropertyType' required: - property_amount - property_type Household: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - name - updated_at PatchedUnit: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 plural_name: type: - string - 'null' maxLength: 128 description: type: - string - 'null' base_unit: type: - string - 'null' maxLength: 256 open_data_slug: type: - string - 'null' maxLength: 128 Food: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 plural_name: type: - string - 'null' maxLength: 128 description: type: string shopping: type: string readOnly: true recipe: allOf: - $ref: '#/components/schemas/RecipeSimple' url: type: - string - 'null' maxLength: 1024 properties: type: - array - 'null' items: $ref: '#/components/schemas/Property' properties_food_amount: type: number format: double properties_food_unit: allOf: - $ref: '#/components/schemas/Unit' fdc_id: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 food_onhand: type: - boolean - 'null' supermarket_category: allOf: - $ref: '#/components/schemas/SupermarketCategory' parent: type: integer readOnly: true numchild: type: integer readOnly: true inherit_fields: type: - array - 'null' items: $ref: '#/components/schemas/FoodInheritField' full_name: type: string description: 'Returns a string representation of a tree node and it''s ancestors, e.g. ''Cuisine > Asian > Chinese > Catonese''.' readOnly: true ignore_shopping: type: boolean substitute: type: - array - 'null' items: $ref: '#/components/schemas/FoodSimple' substitute_siblings: type: boolean substitute_children: type: boolean substitute_onhand: type: boolean readOnly: true child_inherit_fields: type: - array - 'null' items: $ref: '#/components/schemas/FoodInheritField' open_data_slug: type: - string - 'null' maxLength: 128 shopping_lists: type: array items: $ref: '#/components/schemas/ShoppingList' required: - full_name - name - numchild - parent - shopping - substitute_onhand ImportLog: type: object properties: id: type: integer readOnly: false type: type: string maxLength: 32 msg: type: string running: type: boolean keyword: allOf: - $ref: '#/components/schemas/Keyword' readOnly: true total_recipes: type: integer maximum: 2147483647 minimum: -2147483648 imported_recipes: type: integer maximum: 2147483647 minimum: -2147483648 created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true required: - created_at - created_by - keyword - type PatchedInviteLink: type: object description: Adds nested create feature properties: id: type: integer readOnly: false uuid: type: string format: uuid readOnly: true email: type: string format: email maxLength: 254 group: $ref: '#/components/schemas/Group' household: allOf: - $ref: '#/components/schemas/Household' valid_until: type: string format: date used_by: type: - integer - 'null' readOnly: true reusable: type: boolean internal_note: type: - string - 'null' created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true email_sent: type: boolean description: Return whether the invite email was successfully sent. readOnly: true PatchedUserFile: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 128 file: type: string format: uri writeOnly: true file_download: type: string readOnly: true preview: type: string readOnly: true file_size_kb: type: integer readOnly: true created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time readOnly: true ShoppingListEntry: type: object description: Adds nested create feature properties: id: type: integer readOnly: false list_recipe: type: - integer - 'null' shopping_lists: type: array items: $ref: '#/components/schemas/ShoppingList' food: allOf: - $ref: '#/components/schemas/FoodShopping' unit: allOf: - $ref: '#/components/schemas/Unit' amount: type: number format: double order: type: integer maximum: 2147483647 minimum: -2147483648 checked: type: boolean ingredient: type: - integer - 'null' list_recipe_data: allOf: - $ref: '#/components/schemas/ShoppingListRecipe' readOnly: true created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true completed_at: type: - string - 'null' format: date-time delay_until: type: - string - 'null' format: date-time mealplan_id: type: integer writeOnly: true description: If a mealplan id is given try to find existing or create new ShoppingListRecipe with that meal plan and link entry to it required: - amount - created_at - created_by - food - list_recipe_data - updated_at RecipeOverview: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 description: type: - string - 'null' maxLength: 512 image: type: - string - 'null' format: uri readOnly: true keywords: type: array items: $ref: '#/components/schemas/KeywordLabel' readOnly: true working_time: type: integer readOnly: true waiting_time: type: integer readOnly: true created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true internal: type: boolean readOnly: true private: type: boolean servings: type: integer readOnly: true servings_text: type: string readOnly: true rating: type: - number - 'null' format: double readOnly: true last_cooked: type: - string - 'null' format: date-time readOnly: true new: type: boolean readOnly: true recent: type: string readOnly: true required: - created_at - created_by - image - internal - keywords - last_cooked - name - new - rating - recent - servings - servings_text - updated_at - waiting_time - working_time SearchPreference: type: object description: Adds nested create feature properties: user: allOf: - $ref: '#/components/schemas/User' readOnly: true search: $ref: '#/components/schemas/SearchEnum' lookup: type: boolean unaccent: type: - array - 'null' items: $ref: '#/components/schemas/SearchFields' icontains: type: - array - 'null' items: $ref: '#/components/schemas/SearchFields' istartswith: type: - array - 'null' items: $ref: '#/components/schemas/SearchFields' trigram: type: - array - 'null' items: $ref: '#/components/schemas/SearchFields' fulltext: type: - array - 'null' items: $ref: '#/components/schemas/SearchFields' trigram_threshold: type: number format: double exclusiveMinimum: -10 exclusiveMaximum: 10 required: - user EnterpriseBillingReferralLink: type: object properties: id: type: integer readOnly: false created_by: type: - integer - 'null' space: type: integer token: type: string format: uuid created_at: type: string format: date-time readOnly: true required: - created_at - space PatchedSpace: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time readOnly: true message: type: string maxLength: 512 max_recipes: type: integer readOnly: true max_file_storage_mb: type: integer readOnly: true description: Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload. max_users: type: integer readOnly: true allow_sharing: type: boolean readOnly: true demo: type: boolean readOnly: true food_inherit: type: array items: $ref: '#/components/schemas/FoodInheritField' user_count: type: integer readOnly: true recipe_count: type: integer readOnly: true file_size_mb: type: number format: double readOnly: true image: allOf: - $ref: '#/components/schemas/UserFileView' nav_logo: allOf: - $ref: '#/components/schemas/UserFileView' space_theme: $ref: '#/components/schemas/SpaceThemeEnum' custom_space_theme: allOf: - $ref: '#/components/schemas/UserFileView' nav_bg_color: type: string maxLength: 8 nav_text_color: $ref: '#/components/schemas/SpaceNavTextColorEnum' logo_color_32: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_128: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_144: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_180: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_192: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_512: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_svg: allOf: - $ref: '#/components/schemas/UserFileView' ai_credits_monthly: type: integer maximum: 2147483647 minimum: -2147483648 ai_credits_balance: type: number format: double exclusiveMinimum: -1000000000000 exclusiveMaximum: 1000000000000 ai_monthly_credits_used: type: integer readOnly: true ai_enabled: type: boolean ai_default_provider: allOf: - $ref: '#/components/schemas/AiProvider' space_setup_completed: type: boolean household_setup_completed: type: boolean PatchedOpenDataUnit: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 name: type: string maxLength: 128 plural_name: type: string maxLength: 128 base_unit: $ref: '#/components/schemas/BaseUnitEnum' type: $ref: '#/components/schemas/OpenDataUnitTypeEnum' comment: type: string created_by: type: string readOnly: true FoodInheritField: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: - string - 'null' field: type: - string - 'null' required: [] OpenDataStoreCategory: type: object description: Adds nested create feature properties: id: type: integer readOnly: false category: $ref: '#/components/schemas/OpenDataCategory' store: type: integer order: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 required: - category - store BookmarkletImportList: type: object properties: id: type: integer readOnly: false url: type: - string - 'null' maxLength: 256 created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true required: - created_at - created_by PatchedShoppingListEntry: type: object description: Adds nested create feature properties: id: type: integer readOnly: false list_recipe: type: - integer - 'null' shopping_lists: type: array items: $ref: '#/components/schemas/ShoppingList' food: allOf: - $ref: '#/components/schemas/FoodShopping' unit: allOf: - $ref: '#/components/schemas/Unit' amount: type: number format: double order: type: integer maximum: 2147483647 minimum: -2147483648 checked: type: boolean ingredient: type: - integer - 'null' list_recipe_data: allOf: - $ref: '#/components/schemas/ShoppingListRecipe' readOnly: true created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true completed_at: type: - string - 'null' format: date-time delay_until: type: - string - 'null' format: date-time mealplan_id: type: integer writeOnly: true description: If a mealplan id is given try to find existing or create new ShoppingListRecipe with that meal plan and link entry to it Step: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 instruction: type: string ingredients: type: array items: $ref: '#/components/schemas/Ingredient' instructions_markdown: type: string readOnly: true time: type: integer maximum: 2147483647 minimum: -2147483648 order: type: integer maximum: 2147483647 minimum: -2147483648 show_as_header: type: boolean file: allOf: - $ref: '#/components/schemas/UserFileView' step_recipe: type: - integer - 'null' step_recipe_data: readOnly: true numrecipe: type: integer readOnly: true show_ingredients_table: type: boolean required: - ingredients - instructions_markdown - numrecipe - step_recipe_data PatchedEnterpriseBillingReferralLink: type: object properties: id: type: integer readOnly: false created_by: type: - integer - 'null' space: type: integer token: type: string format: uuid created_at: type: string format: date-time readOnly: true PatchedBookmarkletImport: type: object properties: id: type: integer readOnly: false url: type: - string - 'null' maxLength: 256 html: type: string created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true PaginatedSupermarketList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Supermarket' timestamp: type: string format: date-time PatchedOpenDataProperty: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 name: type: string maxLength: 128 unit: type: string maxLength: 16 fdc_id: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 comment: type: string created_by: type: string readOnly: true PatchedRecipe: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 description: type: - string - 'null' maxLength: 512 image: type: - string - 'null' format: uri readOnly: true keywords: type: array items: $ref: '#/components/schemas/Keyword' steps: type: array items: $ref: '#/components/schemas/Step' working_time: type: integer maximum: 2147483647 minimum: -2147483648 waiting_time: type: integer maximum: 2147483647 minimum: -2147483648 created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true source_url: type: - string - 'null' maxLength: 1024 internal: type: boolean show_ingredient_overview: type: boolean nutrition: allOf: - $ref: '#/components/schemas/NutritionInformation' properties: type: array items: $ref: '#/components/schemas/Property' food_properties: readOnly: true servings: type: integer maximum: 2147483647 minimum: -2147483648 file_path: type: string maxLength: 512 servings_text: type: string maxLength: 32 diameter: type: integer maximum: 2147483647 minimum: -2147483648 diameter_text: type: string maxLength: 32 rating: type: - number - 'null' format: double readOnly: true last_cooked: type: - string - 'null' format: date-time readOnly: true private: type: boolean shared: type: array items: $ref: '#/components/schemas/User' BookingTypeEnum: enum: - add - remove - move type: string description: '* `add` - Add * `remove` - Remove * `move` - Move' PaginatedUserSpaceList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/UserSpace' timestamp: type: string format: date-time PatchedPropertyType: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 unit: type: - string - 'null' maxLength: 64 description: type: - string - 'null' maxLength: 512 order: type: integer default: 0 open_data_slug: type: - string - 'null' maxLength: 128 fdc_id: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 PatchedViewLog: type: object properties: id: type: integer readOnly: false recipe: type: integer created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true SourceImportUnit: type: object properties: name: type: string required: - name RecipeFromSource: type: object properties: url: type: - string - 'null' maxLength: 4096 data: type: - string - 'null' bookmarklet: type: - integer - 'null' SpaceThemeEnum: enum: - BLANK - TANDOOR - BOOTSTRAP - DARKLY - FLATLY - SUPERHERO - TANDOOR_DARK type: string description: '* `BLANK` - ------- * `TANDOOR` - Tandoor * `BOOTSTRAP` - Bootstrap * `DARKLY` - Darkly * `FLATLY` - Flatly * `SUPERHERO` - Superhero * `TANDOOR_DARK` - Tandoor Dark (INCOMPLETE)' MealType: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 order: type: integer maximum: 2147483647 minimum: -2147483648 time: type: - string - 'null' format: time color: type: - string - 'null' maxLength: 7 created_by: type: integer readOnly: true required: - created_by - name BookmarkletImport: type: object properties: id: type: integer readOnly: false url: type: - string - 'null' maxLength: 256 html: type: string created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true required: - created_at - created_by - html PatchedEnterpriseBillingPlan: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 256 max_users: type: integer maximum: 2147483647 minimum: -2147483648 max_recipes: type: integer maximum: 2147483647 minimum: -2147483648 max_file_storage_mb: type: integer maximum: 2147483647 minimum: -2147483648 description: Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload. ai_enabled: type: boolean ai_credits_monthly: type: integer maximum: 2147483647 minimum: -2147483648 ai_initial_credit_balance: type: number format: double description: number of credits to set the balance to for new subscriptions. exclusiveMinimum: -1000000000000 exclusiveMaximum: 1000000000000 price: type: number format: double exclusiveMinimum: -1000 exclusiveMaximum: 1000 price_discount: type: - number - 'null' format: double description: Discounted price to show, update price_id from Stripe to use, null to disable discount. exclusiveMinimum: -1000 exclusiveMaximum: 1000 discount_reason: type: - string - 'null' description: Text to show as reason for the discount maxLength: 256 months: type: integer maximum: 2147483647 minimum: -2147483648 price_id: type: string maxLength: 256 product_id: type: string maxLength: 256 managed: type: boolean featured: type: boolean disabled: type: boolean order: type: integer maximum: 2147483647 minimum: -2147483648 PaginatedEnterpriseBillingPlanList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/EnterpriseBillingPlan' timestamp: type: string format: date-time PaginatedEnterpriseBillingProductList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/EnterpriseBillingProduct' timestamp: type: string format: date-time DeleteEnum: enum: - 'true' type: string description: '* `true` - true' InviteLink: type: object description: Adds nested create feature properties: id: type: integer readOnly: false uuid: type: string format: uuid readOnly: true email: type: string format: email maxLength: 254 group: $ref: '#/components/schemas/Group' household: allOf: - $ref: '#/components/schemas/Household' valid_until: type: string format: date used_by: type: - integer - 'null' readOnly: true reusable: type: boolean internal_note: type: - string - 'null' created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true email_sent: type: boolean description: Return whether the invite email was successfully sent. readOnly: true required: - created_at - created_by - email_sent - group - used_by - uuid PaginatedImportLogList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/ImportLog' timestamp: type: string format: date-time CookLog: type: object properties: id: type: integer readOnly: false recipe: type: integer servings: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 rating: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 comment: type: - string - 'null' created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time updated_at: type: string format: date-time readOnly: true required: - created_by - recipe - updated_at Ingredient: type: object description: Adds nested create feature properties: id: type: integer readOnly: false food: allOf: - $ref: '#/components/schemas/Food' unit: allOf: - $ref: '#/components/schemas/Unit' amount: type: number format: double conversions: type: array items: {} readOnly: true note: type: - string - 'null' maxLength: 256 order: type: integer maximum: 2147483647 minimum: -2147483648 is_header: type: boolean no_amount: type: boolean original_text: type: - string - 'null' maxLength: 512 used_in_recipes: type: array items: {} readOnly: true checked: type: boolean readOnly: true default: false description: Just laziness to have a checked field on the frontend API client required: - amount - checked - conversions - food - unit - used_in_recipes FoodSimple: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 plural_name: type: - string - 'null' maxLength: 128 required: - name PatchedUserPreference: type: object description: Adds nested create feature properties: user: allOf: - $ref: '#/components/schemas/User' readOnly: true image: allOf: - $ref: '#/components/schemas/UserFileView' theme: $ref: '#/components/schemas/ThemeEnum' nav_bg_color: type: string maxLength: 8 nav_text_color: $ref: '#/components/schemas/UserPreferenceNavTextColorEnum' nav_show_logo: type: boolean default_unit: type: string maxLength: 32 default_page: $ref: '#/components/schemas/DefaultPageEnum' use_fractions: type: boolean use_kj: type: boolean nav_sticky: type: boolean ingredient_decimals: type: integer maximum: 2147483647 minimum: -2147483648 comments: type: boolean shopping_auto_sync: type: integer maximum: 2147483647 minimum: -2147483648 mealplan_autoadd_shopping: type: boolean food_inherit_default: allOf: - $ref: '#/components/schemas/FoodInheritField' readOnly: true default_delay: type: number format: double exclusiveMinimum: -10000 exclusiveMaximum: 10000 mealplan_autoinclude_related: type: boolean mealplan_autoexclude_onhand: type: boolean shopping_recent_days: type: integer maximum: 2147483647 minimum: 0 csv_delim: type: string maxLength: 2 csv_prefix: type: string maxLength: 10 shopping_update_food_lists: type: boolean default_meal_type: allOf: - $ref: '#/components/schemas/MealType' filter_to_supermarket: type: boolean shopping_add_onhand: type: boolean left_handed: type: boolean show_step_ingredients: type: boolean food_children_exist: type: boolean readOnly: true PaginatedBookmarkletImportListList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/BookmarkletImportList' timestamp: type: string format: date-time PaginatedSupermarketCategoryList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/SupermarketCategory' timestamp: type: string format: date-time PaginatedFoodList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Food' timestamp: type: string format: date-time PaginatedRecipeImportList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/RecipeImport' timestamp: type: string format: date-time PatchedAiProvider: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 128 description: type: string api_key: type: string writeOnly: true model_name: type: string maxLength: 256 url: type: - string - 'null' maxLength: 2048 log_credit_cost: type: boolean space: type: - integer - 'null' created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true ImportOpenDataResponseDetail: type: object properties: total_created: type: integer default: 0 total_updated: type: integer default: 0 total_untouched: type: integer default: 0 total_errored: type: integer default: 0 PatchedEnterpriseBillingProduct: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 128 price: type: number format: double exclusiveMinimum: -1000 exclusiveMaximum: 1000 price_discount: type: - number - 'null' format: double description: Discounted price to show, update price_id from Stripe to use, null to disable discount. exclusiveMinimum: -1000 exclusiveMaximum: 1000 discount_reason: type: - string - 'null' description: Text to show as reason for the discount maxLength: 256 price_id: type: string maxLength: 256 product_id: type: string maxLength: 256 order: type: integer maximum: 2147483647 minimum: -2147483648 ai_credits: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 disabled: type: boolean PaginatedInventoryLocationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/InventoryLocation' timestamp: type: string format: date-time PaginatedOpenDataUnitList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/OpenDataUnit' timestamp: type: string format: date-time PatchedCookLog: type: object properties: id: type: integer readOnly: false recipe: type: integer servings: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 rating: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 comment: type: - string - 'null' created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time updated_at: type: string format: date-time readOnly: true Storage: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 method: $ref: '#/components/schemas/MethodEnum' username: type: - string - 'null' maxLength: 128 password: type: - string - 'null' writeOnly: true maxLength: 128 token: type: - string - 'null' writeOnly: true maxLength: 4098 url: type: - string - 'null' format: uri maxLength: 200 path: type: string maxLength: 256 created_by: type: integer readOnly: true required: - created_by - name InventoryLocation: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 64 is_freezer: type: boolean household: $ref: '#/components/schemas/Household' required: - household - name PropertyType: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 unit: type: - string - 'null' maxLength: 64 description: type: - string - 'null' maxLength: 512 order: type: integer default: 0 open_data_slug: type: - string - 'null' maxLength: 128 fdc_id: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 required: - name StripeCheckoutSessionResponse: type: object properties: session_id: type: string stripe_public_key: type: string url: type: string format: uri required: - session_id - stripe_public_key - url PatchedSupermarketCategory: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 description: type: - string - 'null' open_data_slug: type: - string - 'null' maxLength: 128 ShoppingListEntryBulk: type: object properties: ids: type: array items: {} checked: type: - boolean - 'null' timestamp: type: string format: date-time readOnly: true shopping_lists_add: type: array items: type: integer shopping_lists_remove: type: array items: type: integer shopping_lists_set: type: array items: type: integer shopping_lists_remove_all: type: boolean default: false required: - ids - timestamp PaginatedExportLogList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/ExportLog' timestamp: type: string format: date-time PaginatedGenericModelReferenceList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/GenericModelReference' timestamp: type: string format: date-time PaginatedEnterpriseBillingInvoiceList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/EnterpriseBillingInvoice' timestamp: type: string format: date-time PatchedSupermarketCategoryRelation: type: object description: Adds nested create feature properties: id: type: integer readOnly: false category: $ref: '#/components/schemas/SupermarketCategory' supermarket: type: integer order: type: integer maximum: 2147483647 minimum: -2147483648 ThemeEnum: enum: - TANDOOR - BOOTSTRAP - DARKLY - FLATLY - SUPERHERO - TANDOOR_DARK type: string description: '* `TANDOOR` - Tandoor * `BOOTSTRAP` - Bootstrap * `DARKLY` - Darkly * `FLATLY` - Flatly * `SUPERHERO` - Superhero * `TANDOOR_DARK` - Tandoor Dark (INCOMPLETE)' Unit: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 plural_name: type: - string - 'null' maxLength: 128 description: type: - string - 'null' base_unit: type: - string - 'null' maxLength: 256 open_data_slug: type: - string - 'null' maxLength: 128 required: - name RecipeBook: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 description: type: string shared: type: array items: $ref: '#/components/schemas/User' created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true filter: allOf: - $ref: '#/components/schemas/CustomFilter' order: type: integer maximum: 2147483647 minimum: -2147483648 required: - created_by - name - shared IngredientSimple: type: object description: Adds nested create feature properties: id: type: integer readOnly: false food: allOf: - $ref: '#/components/schemas/FoodSimple' unit: allOf: - $ref: '#/components/schemas/Unit' amount: type: number format: double note: type: - string - 'null' maxLength: 256 order: type: integer maximum: 2147483647 minimum: -2147483648 is_header: type: boolean no_amount: type: boolean original_text: type: - string - 'null' maxLength: 512 checked: type: boolean readOnly: true default: false description: Just laziness to have a checked field on the frontend API client required: - amount - checked - food - unit ShoppingList: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 32 description: type: string color: type: - string - 'null' maxLength: 7 required: [] SourceImportIngredient: type: object properties: amount: type: number format: double food: $ref: '#/components/schemas/SourceImportFood' unit: $ref: '#/components/schemas/SourceImportUnit' note: type: string order: type: - integer - 'null' original_text: type: string required: - amount - food - original_text - unit RecipeImport: type: object description: Adds nested create feature properties: id: type: integer readOnly: false storage: $ref: '#/components/schemas/Storage' name: type: string maxLength: 128 file_uid: type: string maxLength: 256 file_path: type: string maxLength: 512 created_at: type: string format: date-time readOnly: true required: - created_at - name - storage MealPlan: type: object description: Adds nested create feature properties: id: type: integer readOnly: false title: type: string maxLength: 64 recipe: allOf: - $ref: '#/components/schemas/RecipeOverview' servings: type: number format: double note: type: string note_markdown: type: string readOnly: true from_date: type: string format: date-time to_date: type: string format: date-time meal_type: $ref: '#/components/schemas/MealType' created_by: type: integer readOnly: true recipe_name: type: string readOnly: true meal_type_name: type: string readOnly: true shopping: type: boolean readOnly: true addshopping: type: boolean writeOnly: true required: - created_by - from_date - meal_type - meal_type_name - note_markdown - recipe_name - servings - shopping PatchedOpenDataStore: type: object description: Adds nested create feature properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 name: type: string maxLength: 128 category_to_store: type: - array - 'null' items: $ref: '#/components/schemas/OpenDataStoreCategory' comment: type: string created_by: type: string readOnly: true ExportRequest: type: object properties: type: type: string all: type: boolean default: false recipes: type: array items: $ref: '#/components/schemas/RecipeSimple' default: [] custom_filter: allOf: - $ref: '#/components/schemas/CustomFilter' required: - type SourceImportKeyword: type: object properties: id: type: - integer - 'null' readOnly: false label: type: string name: type: string import_keyword: type: boolean default: true required: - label - name SourceImportStep: type: object properties: instruction: type: string ingredients: type: array items: $ref: '#/components/schemas/SourceImportIngredient' show_ingredients_table: type: boolean default: true required: - ingredients - instruction Keyword: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 64 label: type: string readOnly: true description: type: string parent: type: integer readOnly: true numchild: type: integer readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true full_name: type: string description: 'Returns a string representation of a tree node and it''s ancestors, e.g. ''Cuisine > Asian > Chinese > Catonese''.' readOnly: true required: - created_at - full_name - label - name - numchild - parent - updated_at PaginatedEnterpriseSpaceList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/EnterpriseSpace' timestamp: type: string format: date-time InventoryEntry: type: object description: Adds nested create feature properties: id: type: integer readOnly: false inventory_location: $ref: '#/components/schemas/InventoryLocation' sub_location: type: - string - 'null' maxLength: 64 code: type: - string - 'null' maxLength: 16 food: $ref: '#/components/schemas/Food' unit: $ref: '#/components/schemas/Unit' amount: type: number format: double exclusiveMinimum: -10000000000000000 exclusiveMaximum: 10000000000000000 expires: type: - string - 'null' format: date note: type: - string - 'null' maxLength: 256 label: type: string readOnly: true created_at: type: string format: date-time readOnly: true created_by: type: integer readOnly: true required: - created_at - created_by - food - inventory_location - label - unit PaginatedAiProviderList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/AiProvider' timestamp: type: string format: date-time PatchedOpenDataFood: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 name: type: string maxLength: 128 plural_name: type: string maxLength: 128 store_category: $ref: '#/components/schemas/OpenDataCategory' preferred_unit_metric: allOf: - $ref: '#/components/schemas/OpenDataUnit' preferred_shopping_unit_metric: allOf: - $ref: '#/components/schemas/OpenDataUnit' preferred_unit_imperial: allOf: - $ref: '#/components/schemas/OpenDataUnit' preferred_shopping_unit_imperial: allOf: - $ref: '#/components/schemas/OpenDataUnit' properties: type: - array - 'null' items: $ref: '#/components/schemas/OpenDataFoodProperty' properties_food_amount: type: integer maximum: 2147483647 minimum: -2147483648 properties_food_unit: $ref: '#/components/schemas/OpenDataUnit' properties_source: type: string fdc_id: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 comment: type: string created_by: type: string readOnly: true PatchedIngredient: type: object description: Adds nested create feature properties: id: type: integer readOnly: false food: allOf: - $ref: '#/components/schemas/Food' unit: allOf: - $ref: '#/components/schemas/Unit' amount: type: number format: double conversions: type: array items: {} readOnly: true note: type: - string - 'null' maxLength: 256 order: type: integer maximum: 2147483647 minimum: -2147483648 is_header: type: boolean no_amount: type: boolean original_text: type: - string - 'null' maxLength: 512 used_in_recipes: type: array items: {} readOnly: true checked: type: boolean readOnly: true default: false description: Just laziness to have a checked field on the frontend API client PaginatedRecipeBookList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/RecipeBook' timestamp: type: string format: date-time UserSpaceBatchUpdate: type: object properties: user_spaces: type: array items: type: integer household: type: - integer - 'null' group_set: type: array items: type: integer required: - group_set - user_spaces PatchedAutomation: type: object properties: id: type: integer readOnly: false type: $ref: '#/components/schemas/AutomationTypeEnum' name: type: string maxLength: 128 description: type: - string - 'null' param_1: type: - string - 'null' maxLength: 128 param_2: type: - string - 'null' maxLength: 128 param_3: type: - string - 'null' maxLength: 128 order: type: integer maximum: 2147483647 minimum: -2147483648 disabled: type: boolean created_by: type: integer readOnly: true Group: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string readOnly: true required: - name IngredientParserRequest: type: object properties: ingredient: type: string ingredients: type: array items: type: string EnterpriseKeyword: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 64 label: type: string readOnly: true description: type: string required: - label - name PatchedShoppingList: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 32 description: type: string color: type: - string - 'null' maxLength: 7 RecipeFlat: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string readOnly: true image: type: - string - 'null' format: uri readOnly: true required: - image - name ImportOpenData: type: object properties: selected_version: type: string selected_datatypes: type: array items: type: string update_existing: type: boolean default: true use_metric: type: boolean default: true required: - selected_datatypes - selected_version AutomationTypeEnum: enum: - FOOD_ALIAS - UNIT_ALIAS - KEYWORD_ALIAS - DESCRIPTION_REPLACE - INSTRUCTION_REPLACE - NEVER_UNIT - TRANSPOSE_WORDS - FOOD_REPLACE - UNIT_REPLACE - NAME_REPLACE type: string description: '* `FOOD_ALIAS` - Food Alias * `UNIT_ALIAS` - Unit Alias * `KEYWORD_ALIAS` - Keyword Alias * `DESCRIPTION_REPLACE` - Description Replace * `INSTRUCTION_REPLACE` - Instruction Replace * `NEVER_UNIT` - Never Unit * `TRANSPOSE_WORDS` - Transpose Words * `FOOD_REPLACE` - Food Replace * `UNIT_REPLACE` - Unit Replace * `NAME_REPLACE` - Name Replace' EnterpriseBillingInvoice: type: object properties: id: type: integer readOnly: false user: type: integer space: type: integer invoice_system: $ref: '#/components/schemas/InvoiceSystemEnum' invoice_id: type: string maxLength: 128 invoice_number: type: string maxLength: 128 language_code: type: string maxLength: 8 invoice_date: type: string format: date price_net: type: number format: double exclusiveMinimum: -1000000000000000000000000000000 exclusiveMaximum: 1000000000000000000000000000000 price_gross: type: number format: double exclusiveMinimum: -1000000000000000000000000000000 exclusiveMaximum: 1000000000000000000000000000000 printed: type: boolean created_at: type: string format: date-time readOnly: true required: - created_at - invoice_date - invoice_id - invoice_number - price_gross - price_net - space - user PaginatedIngredientList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Ingredient' timestamp: type: string format: date-time IngredientParserResponse: type: object properties: ingredient: allOf: - $ref: '#/components/schemas/IngredientSimple' ingredients: type: array items: $ref: '#/components/schemas/IngredientSimple' required: - ingredient - ingredients PaginatedMealPlanList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/MealPlan' timestamp: type: string format: date-time OpenDataUnitTypeEnum: enum: - WEIGHT - VOLUME - OTHER type: string description: '* `WEIGHT` - weight * `VOLUME` - volume * `OTHER` - other' ImportOpenDataVersionMetaData: type: object properties: food: type: integer unit: type: integer category: type: integer property: type: integer store: type: integer conversion: type: integer required: - category - conversion - food - property - store - unit PatchedRecipeBookEntry: type: object properties: id: type: integer readOnly: false book: type: integer book_content: allOf: - $ref: '#/components/schemas/RecipeBook' readOnly: true recipe: type: integer recipe_content: allOf: - $ref: '#/components/schemas/RecipeOverview' readOnly: true FoodBatchUpdate: type: object properties: foods: type: array items: type: integer category: type: - integer - 'null' substitute_add: type: array items: type: integer substitute_remove: type: array items: type: integer substitute_set: type: array items: type: integer substitute_remove_all: type: boolean default: false inherit_fields_add: type: array items: type: integer inherit_fields_remove: type: array items: type: integer inherit_fields_set: type: array items: type: integer inherit_fields_remove_all: type: boolean default: false child_inherit_fields_add: type: array items: type: integer child_inherit_fields_remove: type: array items: type: integer child_inherit_fields_set: type: array items: type: integer child_inherit_fields_remove_all: type: boolean default: false shopping_lists_add: type: array items: type: integer shopping_lists_remove: type: array items: type: integer shopping_lists_set: type: array items: type: integer shopping_lists_remove_all: type: boolean default: false substitute_children: type: - boolean - 'null' substitute_siblings: type: - boolean - 'null' ignore_shopping: type: - boolean - 'null' on_hand: type: - boolean - 'null' parent_remove: type: - boolean - 'null' parent_set: type: - integer - 'null' required: - child_inherit_fields_add - child_inherit_fields_remove - child_inherit_fields_set - foods - inherit_fields_add - inherit_fields_remove - inherit_fields_set - substitute_add - substitute_remove - substitute_set RecipeShoppingUpdate: type: object properties: id: type: integer readOnly: false list_recipe: type: - integer - 'null' writeOnly: true description: Existing shopping list to update ingredients: type: array items: type: - integer - 'null' writeOnly: true description: List of ingredient IDs from the recipe to add, if not provided all ingredients will be added. servings: type: - integer - 'null' writeOnly: true default: 1 description: Providing a list_recipe ID and servings of 0 will delete that shopping list. required: - ingredients OpenDataProperty: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 name: type: string maxLength: 128 unit: type: string maxLength: 16 fdc_id: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 comment: type: string created_by: type: string readOnly: true required: - created_by - name - slug - version SearchFields: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: - string - 'null' field: type: - string - 'null' required: [] FoodShopping: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 plural_name: type: - string - 'null' maxLength: 128 supermarket_category: allOf: - $ref: '#/components/schemas/SupermarketCategory' readOnly: true shopping_lists: type: array items: $ref: '#/components/schemas/ShoppingList' readOnly: true required: - name - shopping_lists - supermarket_category FoodShoppingUpdate: type: object properties: id: type: integer readOnly: false amount: type: - integer - 'null' writeOnly: true description: Amount of food to add to the shopping list unit: type: - integer - 'null' writeOnly: true description: ID of unit to use for the shopping list delete: allOf: - $ref: '#/components/schemas/DeleteEnum' writeOnly: true description: 'When set to true will delete all food from active shopping lists. * `true` - true' required: - delete PaginatedOpenDataCategoryList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/OpenDataCategory' timestamp: type: string format: date-time UnitConversion: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string readOnly: true base_amount: type: number format: double base_unit: $ref: '#/components/schemas/Unit' converted_amount: type: number format: double converted_unit: $ref: '#/components/schemas/Unit' food: allOf: - $ref: '#/components/schemas/Food' open_data_slug: type: - string - 'null' maxLength: 128 required: - base_amount - base_unit - converted_amount - converted_unit - name PaginatedViewLogList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/ViewLog' timestamp: type: string format: date-time PatchedEnterpriseBillingInvoice: type: object properties: id: type: integer readOnly: false user: type: integer space: type: integer invoice_system: $ref: '#/components/schemas/InvoiceSystemEnum' invoice_id: type: string maxLength: 128 invoice_number: type: string maxLength: 128 language_code: type: string maxLength: 8 invoice_date: type: string format: date price_net: type: number format: double exclusiveMinimum: -1000000000000000000000000000000 exclusiveMaximum: 1000000000000000000000000000000 price_gross: type: number format: double exclusiveMinimum: -1000000000000000000000000000000 exclusiveMaximum: 1000000000000000000000000000000 printed: type: boolean created_at: type: string format: date-time readOnly: true SyncLog: type: object properties: id: type: integer readOnly: false sync: allOf: - $ref: '#/components/schemas/Sync' readOnly: true status: type: string maxLength: 32 msg: type: string created_at: type: string format: date-time readOnly: true required: - created_at - status - sync PatchedShoppingListRecipe: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 32 recipe: type: - integer - 'null' recipe_data: allOf: - $ref: '#/components/schemas/RecipeOverview' readOnly: true meal_plan_data: allOf: - $ref: '#/components/schemas/MealPlan' readOnly: true mealplan: type: - integer - 'null' servings: type: number format: double created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true SourceImportRecipe: type: object properties: steps: type: array items: $ref: '#/components/schemas/SourceImportStep' internal: type: boolean default: true source_url: type: string format: uri name: type: string description: type: string servings: type: integer default: 1 servings_text: type: string default: '' working_time: type: integer default: 0 waiting_time: type: integer default: 0 image_url: type: string format: uri keywords: type: array items: $ref: '#/components/schemas/SourceImportKeyword' default: [] properties: type: array items: $ref: '#/components/schemas/SourceImportProperty' default: [] required: - name - source_url - steps PatchedInventoryEntry: type: object description: Adds nested create feature properties: id: type: integer readOnly: false inventory_location: $ref: '#/components/schemas/InventoryLocation' sub_location: type: - string - 'null' maxLength: 64 code: type: - string - 'null' maxLength: 16 food: $ref: '#/components/schemas/Food' unit: $ref: '#/components/schemas/Unit' amount: type: number format: double exclusiveMinimum: -10000000000000000 exclusiveMaximum: 10000000000000000 expires: type: - string - 'null' format: date note: type: - string - 'null' maxLength: 256 label: type: string readOnly: true created_at: type: string format: date-time readOnly: true created_by: type: integer readOnly: true PatchedKeyword: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 64 label: type: string readOnly: true description: type: string parent: type: integer readOnly: true numchild: type: integer readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true full_name: type: string description: 'Returns a string representation of a tree node and it''s ancestors, e.g. ''Cuisine > Asian > Chinese > Catonese''.' readOnly: true UserPreferenceNavTextColorEnum: enum: - LIGHT - DARK type: string description: '* `LIGHT` - Light * `DARK` - Dark' PaginatedUserFileList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/UserFile' timestamp: type: string format: date-time PaginatedEnterpriseSocialRecipeSearchList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/EnterpriseSocialRecipeSearch' timestamp: type: string format: date-time PatchedUnitConversion: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string readOnly: true base_amount: type: number format: double base_unit: $ref: '#/components/schemas/Unit' converted_amount: type: number format: double converted_unit: $ref: '#/components/schemas/Unit' food: allOf: - $ref: '#/components/schemas/Food' open_data_slug: type: - string - 'null' maxLength: 128 FdcQuery: type: object properties: totalHits: type: integer currentPage: type: integer totalPages: type: integer foods: type: array items: $ref: '#/components/schemas/FdcQueryFoods' required: - currentPage - foods - totalHits - totalPages PatchedSupermarket: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 description: type: - string - 'null' shopping_lists: type: array items: $ref: '#/components/schemas/ShoppingList' category_to_supermarket: type: array items: $ref: '#/components/schemas/SupermarketCategoryRelation' readOnly: true open_data_slug: type: - string - 'null' maxLength: 128 PatchedOpenDataConversion: type: object description: Adds nested create feature properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 food: $ref: '#/components/schemas/OpenDataFood' base_amount: type: number format: double base_unit: $ref: '#/components/schemas/OpenDataUnit' converted_amount: type: number format: double converted_unit: $ref: '#/components/schemas/OpenDataUnit' source: type: string comment: type: string created_by: type: string readOnly: true PatchedStep: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 instruction: type: string ingredients: type: array items: $ref: '#/components/schemas/Ingredient' instructions_markdown: type: string readOnly: true time: type: integer maximum: 2147483647 minimum: -2147483648 order: type: integer maximum: 2147483647 minimum: -2147483648 show_as_header: type: boolean file: allOf: - $ref: '#/components/schemas/UserFileView' step_recipe: type: - integer - 'null' step_recipe_data: readOnly: true numrecipe: type: integer readOnly: true show_ingredients_table: type: boolean ServerSettings: type: object properties: shopping_min_autosync_interval: type: string disable_external_connectors: type: boolean terms_url: type: string privacy_url: type: string imprint_url: type: string hosted: type: boolean debug: type: boolean version: type: string unauthenticated_theme_from_space: type: integer force_theme_from_space: type: integer logo_color_32: type: string format: uri logo_color_128: type: string logo_color_144: type: string logo_color_180: type: string logo_color_192: type: string logo_color_512: type: string logo_color_svg: type: string custom_space_theme: type: string nav_logo: type: string nav_bg_color: type: string required: - debug - disable_external_connectors - force_theme_from_space - hosted - imprint_url - privacy_url - shopping_min_autosync_interval - terms_url - unauthenticated_theme_from_space - version ShareLink: type: object properties: pk: type: integer share: type: string format: uuid link: type: string required: - link - pk - share NutritionInformation: type: object properties: id: type: integer readOnly: false carbohydrates: type: number format: double fats: type: number format: double proteins: type: number format: double calories: type: number format: double source: type: - string - 'null' maxLength: 512 required: - calories - carbohydrates - fats - proteins BaseUnitEnum: enum: - g - kg - ounce - pound - ml - l - fluid_ounce - pint - quart - gallon - tbsp - tsp - us_cup - imperial_fluid_ounce - imperial_pint - imperial_quart - imperial_gallon - imperial_tbsp - imperial_tsp type: string description: '* `g` - g * `kg` - kg * `ounce` - ounce * `pound` - pound * `ml` - ml * `l` - l * `fluid_ounce` - fluid_ounce * `pint` - pint * `quart` - quart * `gallon` - gallon * `tbsp` - tbsp * `tsp` - tsp * `us_cup` - US Cup * `imperial_fluid_ounce` - imperial fluid ounce * `imperial_pint` - imperial pint * `imperial_quart` - imperial quart * `imperial_gallon` - imperial gallon * `imperial_tbsp` - imperial tbsp * `imperial_tsp` - imperial tsp' ConnectorConfig: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 128 minLength: 1 type: $ref: '#/components/schemas/ConnectorConfigTypeEnum' url: type: - string - 'null' format: uri maxLength: 200 token: type: - string - 'null' writeOnly: true maxLength: 512 todo_entity: type: - string - 'null' maxLength: 128 enabled: type: boolean description: Is Connector Enabled on_shopping_list_entry_created_enabled: type: boolean on_shopping_list_entry_updated_enabled: type: boolean on_shopping_list_entry_deleted_enabled: type: boolean supports_description_field: type: boolean description: Does the todo entity support the description field created_by: type: integer readOnly: true required: - created_by - name SupermarketCategoryRelation: type: object description: Adds nested create feature properties: id: type: integer readOnly: false category: $ref: '#/components/schemas/SupermarketCategory' supermarket: type: integer order: type: integer maximum: 2147483647 minimum: -2147483648 required: - category - supermarket EnterpriseSocialEmbed: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 type: $ref: '#/components/schemas/EnterpriseSocialEmbedTypeEnum' keywords: type: array items: $ref: '#/components/schemas/Keyword' alignment: $ref: '#/components/schemas/AlignmentEnum' background_color: type: - string - 'null' maxLength: 32 accent_color: type: - string - 'null' maxLength: 32 uuid: type: string format: uuid required: - keywords - name - type PaginatedStorageList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Storage' timestamp: type: string format: date-time BillingRegionEnum: enum: - EWR - WORLD type: string description: '* `EWR` - EWR * `WORLD` - World' PatchedProperty: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false property_amount: type: - number - 'null' format: double property_type: $ref: '#/components/schemas/PropertyType' PatchedHousehold: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PaginatedStepList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Step' timestamp: type: string format: date-time Sync: type: object description: Adds nested create feature properties: id: type: integer readOnly: false storage: $ref: '#/components/schemas/Storage' path: type: string maxLength: 512 active: type: boolean last_checked: type: - string - 'null' format: date-time created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - storage - updated_at PatchedCustomFilter: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 search: type: string shared: type: array items: $ref: '#/components/schemas/User' created_by: type: integer readOnly: true SourceImportProperty: type: object properties: property_type: $ref: '#/components/schemas/SourceImportPropertyType' property_amount: type: number format: double required: - property_amount - property_type PaginatedRecipeOverviewList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/RecipeOverview' PaginatedInviteLinkList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/InviteLink' timestamp: type: string format: date-time PatchedRecipeImport: type: object description: Adds nested create feature properties: id: type: integer readOnly: false storage: $ref: '#/components/schemas/Storage' name: type: string maxLength: 128 file_uid: type: string maxLength: 256 file_path: type: string maxLength: 512 created_at: type: string format: date-time readOnly: true StripePortal: type: object properties: portal_url: type: string stripe_public_key: type: string required: - portal_url - stripe_public_key MethodEnum: enum: - DB - NEXTCLOUD - LOCAL type: string description: '* `DB` - Dropbox * `NEXTCLOUD` - Nextcloud * `LOCAL` - Local' KeywordModeEnum: enum: - or - and type: string description: '* `or` - or * `and` - and' PaginatedOpenDataStoreList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/OpenDataStore' timestamp: type: string format: date-time PaginatedShoppingListRecipeList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/ShoppingListRecipe' timestamp: type: string format: date-time SearchEnum: enum: - plain - phrase - websearch - raw type: string description: '* `plain` - Simple * `phrase` - Phrase * `websearch` - Web * `raw` - Raw' DefaultPageEnum: enum: - SEARCH - PLAN - BOOKS - SHOPPING type: string description: '* `SEARCH` - Search * `PLAN` - Meal-Plan * `BOOKS` - Books * `SHOPPING` - Shopping' SourceImportPropertyType: type: object properties: id: type: integer readOnly: false name: type: string required: - name PatchedExportLog: type: object properties: id: type: integer readOnly: false type: type: string maxLength: 32 msg: type: string running: type: boolean total_recipes: type: integer maximum: 2147483647 minimum: -2147483648 exported_recipes: type: integer maximum: 2147483647 minimum: -2147483648 cache_duration: type: integer maximum: 2147483647 minimum: -2147483648 possibly_not_expired: type: boolean created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true PatchedOpenDataVersion: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 128 code: type: string maxLength: 16 comment: type: string PatchedEnterpriseSpace: type: object properties: space: type: integer readOnly: true billing_licensed_modules: type: string readOnly: true billing_customer_id: type: - string - 'null' readOnly: true billing_plan: allOf: - $ref: '#/components/schemas/EnterpriseBillingPlan' readOnly: true billing_subscription_id: type: - string - 'null' readOnly: true billing_subscription_status: type: - string - 'null' readOnly: true billing_monthly_price: type: number format: double readOnly: true exclusiveMinimum: -1000 exclusiveMaximum: 1000 billing_region: allOf: - $ref: '#/components/schemas/BillingRegionEnum' PaginatedInventoryLogList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/InventoryLog' timestamp: type: string format: date-time AutoMealPlan: type: object properties: start_date: type: string format: date-time end_date: type: string format: date-time meal_type_id: type: integer keywords: type: array items: type: integer default: [] keyword_mode: allOf: - $ref: '#/components/schemas/KeywordModeEnum' default: and servings: type: number format: double shared: type: - array - 'null' items: $ref: '#/components/schemas/User' addshopping: type: boolean required: - addshopping - end_date - meal_type_id - servings - start_date Space: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time readOnly: true message: type: string maxLength: 512 max_recipes: type: integer readOnly: true max_file_storage_mb: type: integer readOnly: true description: Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload. max_users: type: integer readOnly: true allow_sharing: type: boolean readOnly: true demo: type: boolean readOnly: true food_inherit: type: array items: $ref: '#/components/schemas/FoodInheritField' user_count: type: integer readOnly: true recipe_count: type: integer readOnly: true file_size_mb: type: number format: double readOnly: true image: allOf: - $ref: '#/components/schemas/UserFileView' nav_logo: allOf: - $ref: '#/components/schemas/UserFileView' space_theme: $ref: '#/components/schemas/SpaceThemeEnum' custom_space_theme: allOf: - $ref: '#/components/schemas/UserFileView' nav_bg_color: type: string maxLength: 8 nav_text_color: $ref: '#/components/schemas/SpaceNavTextColorEnum' logo_color_32: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_128: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_144: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_180: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_192: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_512: allOf: - $ref: '#/components/schemas/UserFileView' logo_color_svg: allOf: - $ref: '#/components/schemas/UserFileView' ai_credits_monthly: type: integer maximum: 2147483647 minimum: -2147483648 ai_credits_balance: type: number format: double exclusiveMinimum: -1000000000000 exclusiveMaximum: 1000000000000 ai_monthly_credits_used: type: integer readOnly: true ai_enabled: type: boolean ai_default_provider: allOf: - $ref: '#/components/schemas/AiProvider' space_setup_completed: type: boolean household_setup_completed: type: boolean required: - ai_monthly_credits_used - allow_sharing - created_at - created_by - demo - file_size_mb - max_file_storage_mb - max_recipes - max_users - recipe_count - user_count ShoppingListEntrySimpleCreate: type: object properties: amount: type: number format: double unit_id: type: - integer - 'null' food_id: type: - integer - 'null' ingredient_id: type: - integer - 'null' required: - amount - food_id - ingredient_id - unit_id EnterpriseBillingProduct: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 128 price: type: number format: double exclusiveMinimum: -1000 exclusiveMaximum: 1000 price_discount: type: - number - 'null' format: double description: Discounted price to show, update price_id from Stripe to use, null to disable discount. exclusiveMinimum: -1000 exclusiveMaximum: 1000 discount_reason: type: - string - 'null' description: Text to show as reason for the discount maxLength: 256 price_id: type: string maxLength: 256 product_id: type: string maxLength: 256 order: type: integer maximum: 2147483647 minimum: -2147483648 ai_credits: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 disabled: type: boolean required: - name - price - price_id - product_id PaginatedSyncList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Sync' timestamp: type: string format: date-time PaginatedAiLogList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/AiLog' timestamp: type: string format: date-time AiLog: type: object properties: id: type: integer readOnly: false ai_provider: allOf: - $ref: '#/components/schemas/AiProvider' readOnly: true function: type: string maxLength: 64 credit_cost: type: number format: double exclusiveMinimum: -1000000000000 exclusiveMaximum: 1000000000000 credits_from_balance: type: boolean input_tokens: type: integer maximum: 2147483647 minimum: -2147483648 output_tokens: type: integer maximum: 2147483647 minimum: -2147483648 start_time: type: - string - 'null' format: date-time end_time: type: - string - 'null' format: date-time created_by: type: - integer - 'null' created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - ai_provider - created_at - credit_cost - function - updated_at PaginatedSpaceList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Space' timestamp: type: string format: date-time PatchedSync: type: object description: Adds nested create feature properties: id: type: integer readOnly: false storage: $ref: '#/components/schemas/Storage' path: type: string maxLength: 512 active: type: boolean last_checked: type: - string - 'null' format: date-time created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PaginatedCookLogList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/CookLog' timestamp: type: string format: date-time PatchedInventoryLocation: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false name: type: string maxLength: 64 is_freezer: type: boolean household: $ref: '#/components/schemas/Household' EnterpriseSocialRecipeSearch: type: object properties: id: type: integer readOnly: false name: type: string readOnly: true image: type: - string - 'null' format: uri readOnly: true keywords: type: array items: $ref: '#/components/schemas/EnterpriseKeyword' readOnly: true required: - image - keywords - name ConnectorConfigTypeEnum: enum: - HomeAssistant type: string description: '* `HomeAssistant` - HomeAssistant' PaginatedShoppingListList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/ShoppingList' timestamp: type: string format: date-time PatchedSearchPreference: type: object description: Adds nested create feature properties: user: allOf: - $ref: '#/components/schemas/User' readOnly: true search: $ref: '#/components/schemas/SearchEnum' lookup: type: boolean unaccent: type: - array - 'null' items: $ref: '#/components/schemas/SearchFields' icontains: type: - array - 'null' items: $ref: '#/components/schemas/SearchFields' istartswith: type: - array - 'null' items: $ref: '#/components/schemas/SearchFields' trigram: type: - array - 'null' items: $ref: '#/components/schemas/SearchFields' fulltext: type: - array - 'null' items: $ref: '#/components/schemas/SearchFields' trigram_threshold: type: number format: double exclusiveMinimum: -10 exclusiveMaximum: 10 PaginatedEnterpriseBillingReferralLinkList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/EnterpriseBillingReferralLink' timestamp: type: string format: date-time ViewLog: type: object properties: id: type: integer readOnly: false recipe: type: integer created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true required: - created_at - created_by - recipe PaginatedAutomationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Automation' timestamp: type: string format: date-time InvoiceSystemEnum: enum: - ERPNEXT - SEVDESK - STRIPE type: string description: '* `ERPNEXT` - ErpNext * `SEVDESK` - SevDesk * `STRIPE` - Stripe' ExportLog: type: object properties: id: type: integer readOnly: false type: type: string maxLength: 32 msg: type: string running: type: boolean total_recipes: type: integer maximum: 2147483647 minimum: -2147483648 exported_recipes: type: integer maximum: 2147483647 minimum: -2147483648 cache_duration: type: integer maximum: 2147483647 minimum: -2147483648 possibly_not_expired: type: boolean created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true required: - created_at - created_by - type ShoppingListRecipe: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 32 recipe: type: - integer - 'null' recipe_data: allOf: - $ref: '#/components/schemas/RecipeOverview' readOnly: true meal_plan_data: allOf: - $ref: '#/components/schemas/MealPlan' readOnly: true mealplan: type: - integer - 'null' servings: type: number format: double created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true required: - created_by - meal_plan_data - recipe_data - servings PatchedMealPlan: type: object description: Adds nested create feature properties: id: type: integer readOnly: false title: type: string maxLength: 64 recipe: allOf: - $ref: '#/components/schemas/RecipeOverview' servings: type: number format: double note: type: string note_markdown: type: string readOnly: true from_date: type: string format: date-time to_date: type: string format: date-time meal_type: $ref: '#/components/schemas/MealType' created_by: type: integer readOnly: true recipe_name: type: string readOnly: true meal_type_name: type: string readOnly: true shopping: type: boolean readOnly: true addshopping: type: boolean writeOnly: true AiProvider: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 128 description: type: string api_key: type: string writeOnly: true model_name: type: string maxLength: 256 url: type: - string - 'null' maxLength: 2048 log_credit_cost: type: boolean space: type: - integer - 'null' created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - model_name - name - updated_at PaginatedUnitConversionList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/UnitConversion' timestamp: type: string format: date-time PaginatedConnectorConfigList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/ConnectorConfig' timestamp: type: string format: date-time PaginatedSyncLogList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/SyncLog' timestamp: type: string format: date-time StripeCheckoutSessionRequest: type: object properties: product_id: type: integer plan_id: type: integer PatchedImportLog: type: object properties: id: type: integer readOnly: false type: type: string maxLength: 32 msg: type: string running: type: boolean keyword: allOf: - $ref: '#/components/schemas/Keyword' readOnly: true total_recipes: type: integer maximum: 2147483647 minimum: -2147483648 imported_recipes: type: integer maximum: 2147483647 minimum: -2147483648 created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true UserSpace: type: object description: Adds nested create feature properties: id: type: integer readOnly: false user: allOf: - $ref: '#/components/schemas/User' readOnly: true space: type: integer readOnly: true groups: type: array items: $ref: '#/components/schemas/Group' household: allOf: - $ref: '#/components/schemas/Household' active: type: boolean internal_note: type: - string - 'null' invite_link: type: - integer - 'null' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - groups - invite_link - space - updated_at - user User: type: object description: Adds nested create feature properties: id: type: integer readOnly: false username: type: string readOnly: true description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. first_name: type: string maxLength: 150 last_name: type: string maxLength: 150 display_name: type: string readOnly: true is_staff: type: boolean readOnly: true title: Staff status description: Designates whether the user can log into this admin site. is_superuser: type: boolean readOnly: true title: Superuser status description: Designates that this user has all permissions without explicitly assigning them. is_active: type: boolean readOnly: true title: Active description: Designates whether this user should be treated as active. Unselect this instead of deleting accounts. required: - display_name - is_active - is_staff - is_superuser - username PaginatedShoppingListEntryList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/ShoppingListEntry' timestamp: type: string format: date-time FdcQueryFoods: type: object properties: fdcId: type: integer description: type: string dataType: type: string required: - dataType - description - fdcId OpenDataFood: type: object description: "Moves `UniqueValidator`'s from the validation stage to the save stage.\nIt solves the problem with nested validation for unique fields on update.\n\nIf you want more details, you can read related issues and articles:\nhttps://github.com/beda-software/drf-writable-nested/issues/1\nhttp://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers\n\nExample of usage:\n```\n class Child(models.Model):\n field = models.CharField(unique=True)\n\n\nclass Parent(models.Model):\n child = models.ForeignKey('Child')\n\n\nclass ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):\n class Meta:\n model = Child\n\n\nclass ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):\n child = ChildSerializer()\n\n class Meta:\n model = Parent\n```\n\nNote: `UniqueFieldsMixin` must be applied only on the serializer\nwhich has unique fields.\n\nNote: When you are using both mixins\n(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)\nyou should put `UniqueFieldsMixin` ahead." properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 name: type: string maxLength: 128 plural_name: type: string maxLength: 128 store_category: $ref: '#/components/schemas/OpenDataCategory' preferred_unit_metric: allOf: - $ref: '#/components/schemas/OpenDataUnit' preferred_shopping_unit_metric: allOf: - $ref: '#/components/schemas/OpenDataUnit' preferred_unit_imperial: allOf: - $ref: '#/components/schemas/OpenDataUnit' preferred_shopping_unit_imperial: allOf: - $ref: '#/components/schemas/OpenDataUnit' properties: type: - array - 'null' items: $ref: '#/components/schemas/OpenDataFoodProperty' properties_food_amount: type: integer maximum: 2147483647 minimum: -2147483648 properties_food_unit: $ref: '#/components/schemas/OpenDataUnit' properties_source: type: string fdc_id: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 comment: type: string created_by: type: string readOnly: true required: - created_by - name - plural_name - properties - properties_food_unit - slug - store_category - version InventoryLog: type: object properties: id: type: integer readOnly: false entry: $ref: '#/components/schemas/InventoryEntry' booking_type: $ref: '#/components/schemas/BookingTypeEnum' old_amount: type: number format: double exclusiveMinimum: -10000000000000000 exclusiveMaximum: 10000000000000000 new_amount: type: number format: double exclusiveMinimum: -10000000000000000 exclusiveMaximum: 10000000000000000 old_inventory_location: $ref: '#/components/schemas/InventoryLocation' new_inventory_location: $ref: '#/components/schemas/InventoryLocation' note: type: - string - 'null' maxLength: 256 created_at: type: string format: date-time readOnly: true required: - created_at - entry - new_inventory_location - old_inventory_location EnterpriseSpace: type: object properties: space: type: integer readOnly: true billing_licensed_modules: type: string readOnly: true billing_customer_id: type: - string - 'null' readOnly: true billing_plan: allOf: - $ref: '#/components/schemas/EnterpriseBillingPlan' readOnly: true billing_subscription_id: type: - string - 'null' readOnly: true billing_subscription_status: type: - string - 'null' readOnly: true billing_monthly_price: type: number format: double readOnly: true exclusiveMinimum: -1000 exclusiveMaximum: 1000 billing_region: allOf: - $ref: '#/components/schemas/BillingRegionEnum' required: - billing_customer_id - billing_licensed_modules - billing_monthly_price - billing_plan - billing_subscription_id - billing_subscription_status - space PaginatedOpenDataFoodList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/OpenDataFood' timestamp: type: string format: date-time PaginatedEnterpriseSocialEmbedList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/EnterpriseSocialEmbed' timestamp: type: string format: date-time PaginatedRecipeBookEntryList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/RecipeBookEntry' timestamp: type: string format: date-time PaginatedOpenDataConversionList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/OpenDataConversion' timestamp: type: string format: date-time PaginatedSupermarketCategoryRelationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/SupermarketCategoryRelation' timestamp: type: string format: date-time PatchedStorage: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 method: $ref: '#/components/schemas/MethodEnum' username: type: - string - 'null' maxLength: 128 password: type: - string - 'null' writeOnly: true maxLength: 128 token: type: - string - 'null' writeOnly: true maxLength: 4098 url: type: - string - 'null' format: uri maxLength: 200 path: type: string maxLength: 256 created_by: type: integer readOnly: true Recipe: type: object description: Adds nested create feature properties: id: type: integer readOnly: false name: type: string maxLength: 128 description: type: - string - 'null' maxLength: 512 image: type: - string - 'null' format: uri readOnly: true keywords: type: array items: $ref: '#/components/schemas/Keyword' steps: type: array items: $ref: '#/components/schemas/Step' working_time: type: integer maximum: 2147483647 minimum: -2147483648 waiting_time: type: integer maximum: 2147483647 minimum: -2147483648 created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true source_url: type: - string - 'null' maxLength: 1024 internal: type: boolean show_ingredient_overview: type: boolean nutrition: allOf: - $ref: '#/components/schemas/NutritionInformation' properties: type: array items: $ref: '#/components/schemas/Property' food_properties: readOnly: true servings: type: integer maximum: 2147483647 minimum: -2147483648 file_path: type: string maxLength: 512 servings_text: type: string maxLength: 32 diameter: type: integer maximum: 2147483647 minimum: -2147483648 diameter_text: type: string maxLength: 32 rating: type: - number - 'null' format: double readOnly: true last_cooked: type: - string - 'null' format: date-time readOnly: true private: type: boolean shared: type: array items: $ref: '#/components/schemas/User' required: - created_at - created_by - food_properties - image - last_cooked - name - rating - steps - updated_at OpenDataStore: type: object description: Adds nested create feature properties: id: type: integer readOnly: false version: $ref: '#/components/schemas/OpenDataVersion' slug: type: string maxLength: 128 name: type: string maxLength: 128 category_to_store: type: - array - 'null' items: $ref: '#/components/schemas/OpenDataStoreCategory' comment: type: string created_by: type: string readOnly: true required: - category_to_store - created_by - name - slug - version Automation: type: object properties: id: type: integer readOnly: false type: $ref: '#/components/schemas/AutomationTypeEnum' name: type: string maxLength: 128 description: type: - string - 'null' param_1: type: - string - 'null' maxLength: 128 param_2: type: - string - 'null' maxLength: 128 param_3: type: - string - 'null' maxLength: 128 order: type: integer maximum: 2147483647 minimum: -2147483648 disabled: type: boolean created_by: type: integer readOnly: true required: - created_by - type UserFileView: type: object properties: id: type: integer readOnly: false name: type: string maxLength: 128 file_download: type: string readOnly: true preview: type: string readOnly: true file_size_kb: type: integer readOnly: true created_by: allOf: - $ref: '#/components/schemas/User' readOnly: true created_at: type: string format: date-time readOnly: true required: - created_at - created_by - file_download - file_size_kb - name - preview ImportOpenDataMetaData: type: object properties: versions: type: array items: type: string datatypes: type: array items: type: string base: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' cs: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' da: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' de: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' el: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' en: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' es: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' fr: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' hu: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' it: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' nb_NO: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' nl: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' pl: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' pt: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' pt_BR: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' sk: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' sl: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' zh_Hans: $ref: '#/components/schemas/ImportOpenDataVersionMetaData' required: - base - cs - da - datatypes - de - el - en - es - fr - hu - it - nb_NO - nl - pl - pt - pt_BR - sk - sl - versions - zh_Hans securitySchemes: ApiKeyAuth: type: apiKey in: header name: Authorization