openapi: 3.2.0 info: title: 'Mealie Recipes: Units API' description: ' Mealie is a web application for managing your recipes, meal plans, and shopping lists. This is the Restful API interactive documentation that can be used to explore the API. If you''re justing getting started with the API and want to get started quickly, you can use the [API Usage | Mealie Docs](https://docs.mealie.io/documentation/getting-started/api-usage/) as a reference for how to get started. If you have any questions or comments about mealie, please use the discord server to talk to the developers or other community members. If you''d like to file an issue, please use the [GitHub Issue Tracker | Mealie](https://github.com/mealie-recipes/mealie/issues/new/choose) ## Helpful Links - [Home Page](https://mealie.io) - [Documentation](https://docs.mealie.io) - [Discord](https://discord.gg/QuStdQGSGK) - [Demo](https://demo.mealie.io) ' version: nightly tags: - name: 'Recipes: Units' paths: /api/units: get: tags: - 'Recipes: Units' summary: Get All operationId: get_all_api_units_get security: - OAuth2PasswordBearer: [] parameters: - name: search in: query required: false schema: anyOf: - type: string - type: 'null' title: Search - name: orderBy in: query required: false schema: anyOf: - type: string - type: 'null' title: Orderby - name: orderByNullPosition in: query required: false schema: anyOf: - $ref: '#/components/schemas/OrderByNullPosition' - type: 'null' title: Orderbynullposition - name: orderDirection in: query required: false schema: $ref: '#/components/schemas/OrderDirection' default: desc - name: queryFilter in: query required: false schema: anyOf: - type: string - type: 'null' title: Queryfilter - name: paginationSeed in: query required: false schema: anyOf: - type: string - type: 'null' title: Paginationseed - name: page in: query required: false schema: type: integer default: 1 title: Page - name: perPage in: query required: false schema: type: integer default: 50 title: Perpage - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/IngredientUnitPagination' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - 'Recipes: Units' summary: Create One operationId: create_one_api_units_post security: - OAuth2PasswordBearer: [] parameters: - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateIngredientUnit' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/IngredientUnit-Output' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/units/merge: put: tags: - 'Recipes: Units' summary: Merge One operationId: merge_one_api_units_merge_put security: - OAuth2PasswordBearer: [] parameters: - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MergeUnit' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/units/{item_id}: get: tags: - 'Recipes: Units' summary: Get One operationId: get_one_api_units__item_id__get security: - OAuth2PasswordBearer: [] parameters: - name: item_id in: path required: true schema: type: string format: uuid4 title: Item Id - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/IngredientUnit-Output' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - 'Recipes: Units' summary: Update One operationId: update_one_api_units__item_id__put security: - OAuth2PasswordBearer: [] parameters: - name: item_id in: path required: true schema: type: string format: uuid4 title: Item Id - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateIngredientUnit' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/IngredientUnit-Output' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - 'Recipes: Units' summary: Delete One operationId: delete_one_api_units__item_id__delete security: - OAuth2PasswordBearer: [] parameters: - name: item_id in: path required: true schema: type: string format: uuid4 title: Item Id - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/IngredientUnit-Output' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: IngredientUnitAlias: properties: name: type: string title: Name type: object required: - name title: IngredientUnitAlias CreateIngredientUnit: properties: id: anyOf: - type: string format: uuid4 - type: 'null' title: Id name: type: string title: Name pluralName: anyOf: - type: string - type: 'null' title: Pluralname description: type: string title: Description default: '' extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} fraction: type: boolean title: Fraction default: true abbreviation: type: string title: Abbreviation default: '' pluralAbbreviation: anyOf: - type: string - type: 'null' title: Pluralabbreviation default: '' useAbbreviation: type: boolean title: Useabbreviation default: false aliases: items: $ref: '#/components/schemas/CreateIngredientUnitAlias' type: array title: Aliases default: [] standardQuantity: anyOf: - type: number - type: 'null' title: Standardquantity standardUnit: anyOf: - type: string - type: 'null' title: Standardunit type: object required: - name title: CreateIngredientUnit SuccessResponse: properties: message: type: string title: Message error: type: boolean title: Error default: false type: object required: - message title: SuccessResponse IngredientUnit-Output: properties: id: type: string format: uuid4 title: Id name: type: string title: Name pluralName: anyOf: - type: string - type: 'null' title: Pluralname description: type: string title: Description default: '' extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} fraction: type: boolean title: Fraction default: true abbreviation: type: string title: Abbreviation default: '' pluralAbbreviation: anyOf: - type: string - type: 'null' title: Pluralabbreviation default: '' useAbbreviation: type: boolean title: Useabbreviation default: false aliases: items: $ref: '#/components/schemas/IngredientUnitAlias' type: array title: Aliases default: [] standardQuantity: anyOf: - type: number - type: 'null' title: Standardquantity standardUnit: anyOf: - type: string - type: 'null' title: Standardunit createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat updatedAt: anyOf: - type: string format: date-time - type: 'null' title: Updatedat type: object required: - id - name title: IngredientUnit MergeUnit: properties: fromUnit: type: string format: uuid4 title: Fromunit toUnit: type: string format: uuid4 title: Tounit type: object required: - fromUnit - toUnit title: MergeUnit HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError IngredientUnitPagination: properties: page: type: integer title: Page default: 1 per_page: type: integer title: Per Page default: 10 total: type: integer title: Total default: 0 total_pages: type: integer title: Total Pages default: 0 items: items: $ref: '#/components/schemas/IngredientUnit-Output' type: array title: Items next: anyOf: - type: string - type: 'null' title: Next previous: anyOf: - type: string - type: 'null' title: Previous type: object required: - items title: IngredientUnitPagination OrderDirection: type: string enum: - asc - desc title: OrderDirection ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError OrderByNullPosition: type: string enum: - first - last title: OrderByNullPosition CreateIngredientUnitAlias: properties: name: type: string title: Name type: object required: - name title: CreateIngredientUnitAlias securitySchemes: OAuth2PasswordBearer: type: oauth2 flows: password: scopes: {} tokenUrl: /api/auth/token