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

# Update a project

> Update a project's mutable fields using field masks. Currently, the updatable fields are `appName` (the display name shown to end users) and `name` (the unique project identifier).



## OpenAPI

````yaml platform patch /projects/{projectIdOrName}
openapi: 3.0.1
info:
  title: Ampersand public API
  version: 1.0.0
servers:
  - url: https://api.withampersand.com/v1
security:
  - APIKeyHeader: []
  - Bearer: []
paths:
  /projects/{projectIdOrName}:
    patch:
      tags:
        - Project
      summary: Update a project
      description: >-
        Update a project's mutable fields using field masks. Currently, the
        updatable fields are `appName` (the display name shown to end users) and
        `name` (the unique project identifier).
      operationId: updateProject
      parameters:
        - name: projectIdOrName
          in: path
          required: true
          description: The Ampersand project ID or project name.
          schema:
            type: string
          example: my-project
      requestBody:
        content:
          application/json:
            schema:
              required:
                - project
                - updateMask
              type: object
              properties:
                updateMask:
                  type: array
                  items:
                    type: string
                  description: >
                    Array of field paths specifying which fields to update. Each
                    path must have a

                    corresponding value in the `project` object. A field
                    included in `project` but

                    not listed here will be ignored. Allowed values:

                    - `appName` - the display name of the application, shown to
                    end users during the connection flow.

                    - `name` - the unique project identifier (must be unique
                    within your organization).
                  example:
                    - appName
                project:
                  type: object
                  properties:
                    appName:
                      type: string
                      description: >-
                        The display name of the application, shown to end users
                        during the connection flow.
                      example: MailMonkey
                    name:
                      type: string
                      description: >-
                        The unique name for the project. Must be unique within
                        the organization.
                      example: mailmonkey-staging
                  description: >
                    The project fields to update. Only fields whose paths are
                    listed in `updateMask`

                    will be applied; all other fields in this object are
                    ignored.
            example:
              updateMask:
                - appName
              project:
                appName: MailMonkey Pro
        required: true
      responses:
        '200':
          description: The updated project.
          content:
            application/json:
              schema:
                title: Project
                required:
                  - appName
                  - createTime
                  - id
                  - name
                  - orgId
                type: object
                properties:
                  id:
                    type: string
                    description: The unique identifier for the project.
                    example: proj_9f7c3e2a-61b8-4f5c-8d1a-eb24f3b05d79
                  name:
                    type: string
                    description: The unique name for the project.
                    example: mailmonkey-staging
                  appName:
                    type: string
                    description: >-
                      The display name of the application, shown to end users
                      during the connection flow.
                    example: MailMonkey
                  orgId:
                    type: string
                    description: The ID of the organization that this project belongs to.
                    example: 9f7c3e2a-61b8-4f5c-8d1a-eb24f3b05d79
                  createTime:
                    type: string
                    description: The time the project was created.
                    format: date-time
                  updateTime:
                    type: string
                    description: The time the project was updated.
                    format: date-time
                  entitlements:
                    type: object
                    description: >-
                      Plan-based feature flags for the project. These are
                      managed by Ampersand and cannot be set via the API.
                    properties:
                      brandingRemoval:
                        type: object
                        required:
                          - value
                        x-go-type-skip-optional-pointer: true
                        description: >-
                          Controls whether Ampersand branding is removed from
                          the embeddable UI components.
                        properties:
                          value:
                            type: boolean
                            description: >-
                              True if Ampersand branding has been removed for
                              this project.
        default:
          description: Error
          content:
            application/problem+json:
              schema:
                title: API Problem
                type: object
                allOf:
                  - title: Problem
                    description: >
                      A Problem Details object (RFC 9457).


                      Additional properties specific to the problem type may be
                      present.
                    type: object
                    properties:
                      type:
                        type: string
                        format: uri
                        description: An absolute URI that identifies the problem type
                        default: about:blank
                      href:
                        type: string
                        format: uri
                        description: >-
                          An absolute URI that, when dereferenced, provides
                          human-readable documentation for the problem type
                          (e.g. using HTML).
                      title:
                        type: string
                        description: >-
                          A short summary of the problem type. Written in
                          English and readable for engineers (usually not suited
                          for non technical stakeholders and not localized).
                        example: Service Unavailable
                      status:
                        type: integer
                        format: int32
                        description: >-
                          The HTTP status code generated by the origin server
                          for this occurrence of the problem.
                        minimum: 400
                        maximum: 600
                        exclusiveMaximum: true
                        example: 503
                      detail:
                        type: string
                        description: >-
                          A human-readable explanation specific to this
                          occurrence of the problem
                      instance:
                        type: string
                        format: uri
                        description: >-
                          An absolute URI that identifies the specific
                          occurrence of the problem. It may or may not yield
                          further information if dereferenced.
                    example:
                      type: urn:problem-type:exampleOrganization:exampleProblem
                      href: >-
                        https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types
                      title: Description of the type of problem that occurred
                      status: 400
                      detail: Description of specific occurrence of the problem
                      instance: urn:uuid:123e4567-e89b-12d3-a456-426614174000
                properties:
                  subsystem:
                    type: string
                    description: The subsystem that generated the problem
                    example: api
                  time:
                    type: string
                    format: date-time
                    description: The time the problem occurred, formatted as RFC-3339
                    example: '2024-04-22T18:55:28.456076Z'
                  requestId:
                    type: string
                    description: A unique identifier for the request, useful for debugging
                    example: 89eb1ffb-2a54-4105-aaae-7bf990f1aa69#87715
                  causes:
                    type: array
                    items:
                      type: string
                      description: >-
                        A brief description of something which caused the
                        problem
                      example: database connection failed
                    example:
                      - database connection failed
                      - database query failed
                      - unable to fetch user
                    description: >
                      A list of problems that caused this problem. This can be
                      used to represent multiple

                      root causes. There is no guaranteed ordering of the
                      causes.
                  remedy:
                    type: string
                    description: A brief description of how to resolve the problem
                    example: Shorten your input to be under 100 characters
                  supportEmail:
                    type: string
                    format: email
                    description: An email address to contact for support
                    example: support@withampersand.com
                  supportPhone:
                    type: string
                    description: A phone number to contact for support
                    example: +1-555-555-5555
                  supportUrl:
                    type: string
                    format: uri
                    description: A URL to contact for support
                    example: https://withampersand.com/support
                  retryable:
                    type: boolean
                    description: Whether the request can be retried
                    example: false
                  retryAfter:
                    type: string
                    format: date-time
                    description: >-
                      A timestamp after which the request can be retried,
                      formatted as RFC-3339
                    example: '2024-04-22T18:55:28.456076Z'
                  context:
                    type: object
                    description: Additional context for the problem
                    additionalProperties: true
                    example:
                      name: Rick Sanchez
components:
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      name: X-Api-Key
      in: header
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````