> ## Documentation Index
> Fetch the complete documentation index at: https://higginsgraferinc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Update an ingredient

> Update an ingredient's details. You can update the following properties: `name`, `price`, and `in_stock_qty`.




## OpenAPI

````yaml openapi.yaml put /ingredients/{id}
openapi: 3.0.3
info:
  title: Point of Service (POS) API
  version: '1.0'
  description: >
    An example of a restaurant point of sale API, used to learn how to make API
    calls using Swagger, Github codespaces, and Postman, and to learn API
    documentation best practices.
  contact:
    name: Course Discord server
    url: https://discord.gg/dPsnz5u9
    email: mark.wentowski@docsgeek.io
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://reimagined-journey-g45xxv4v6gwhvrrr-80.app.github.dev
    description: The server URL used for the point of service API
    variables:
      gh-codespaces-server-url:
        default: https://reimagined-journey-g45xxv4v6gwhvrrr-80.app.github.dev
        description: >-
          Codespace URL used by Sarah Holdgrafer for Mastering API Documentation
          course.
  - url: http://localhost:80/
    description: Local URL for testing
security: []
tags:
  - name: Orders
    description: Methods for creating and managing orders in the client app.
  - name: Dishes
    description: Methods for creating and managing dishes in the client app.
  - name: Ingredients
    description: Methods used for creating and managing ingredients in the client app .
  - name: Users
    description: >-
      Methods for creating and managing the user accounts allowed to access the
      client app.
  - name: Auth
    description: Authentication endpoints for the client app (all methods use Basic auth).
paths:
  /ingredients/{id}:
    put:
      tags:
        - Ingredients
      summary: Update an ingredient
      description: >
        Update an ingredient's details. You can update the following properties:
        `name`, `price`, and `in_stock_qty`.
      operationId: putIngredient
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          example: 617d2e09ec42e0001f41bf84
          description: >-
            The unique ingredient identifier, generated when the ingredient was
            created.
      requestBody:
        $ref: '#/components/requestBodies/UpdateIngredientRequest'
      responses:
        '200':
          description: Ingredient successfully updated
        '204':
          description: Request successful
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
        '403':
          description: Access denied
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: Unable to complete request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      security:
        - AccessToken: []
components:
  requestBodies:
    UpdateIngredientRequest:
      description: >
        The request body to update one or more ingredient requires only the
        properties to be updated. 
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                type: string
                example: Carrot
                description: The ingredient name to display in the client app.
              in_stock_qty:
                $ref: '#/components/schemas/InStockQty'
              price:
                $ref: '#/components/schemas/Price'
  schemas:
    Problem:
      type: object
      properties:
        title:
          type: string
          description: >-
            A short summary of the error or problem encountered with the
            request.
          example: Human-readable error title.
        detail:
          type: string
          description: >-
            A more detailed description of the error or problem to indicate the
            source and the solution, if possible.
          example: Human-readable error details.
      required:
        - title
        - detail
    InStockQty:
      type: integer
      description: >
        The quantity of the ingredient currently in stock. This field is used to
        track the ingredient inventory. If the ingredient is essential and has a
        value of 0, the associated dish cannot be ordered via the client app.
      example: 3
    Price:
      type: number
      format: float
      example: 999
      description: The price used by the client app to calculate order cost.
  securitySchemes:
    AccessToken:
      type: http
      scheme: bearer

````