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

# Update a tag



## OpenAPI

````yaml /api-reference/openapi.json patch /v1/tags/{tagId}
openapi: 3.0.0
info:
  title: Flovoo API
  description: |-
    Authenticate with an API key created from **Connectors → API**:

    ```
    Authorization: Bearer flv_...
    ```

    The organization is derived from the key, so no request carries an
    organization id.
  version: '1.0'
  contact: {}
servers: []
security: []
tags: []
paths:
  /v1/tags/{tagId}:
    patch:
      tags:
        - Tags
      summary: Update a tag
      operationId: PublicTagsController_update
      parameters:
        - name: tagId
          required: true
          in: path
          description: The tag id.
          schema:
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicUpdateTagDoc'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicTagDoc'
        '400':
          description: >-
            The request failed validation. Every failing field is listed in
            `details`, not just the first.
          content:
            application/json:
              example:
                error:
                  type: invalid_request_error
                  code: validation_failed
                  message: The request failed validation.
                  details:
                    - param: phone
                      code: invalid_string
                      message: Invalid phone number format
                  requestId: req_01J8X4M2N9P3Q5R7
        '401':
          description: The key is missing, unknown, or revoked.
          content:
            application/json:
              examples:
                missing:
                  summary: No Authorization header
                  value:
                    error:
                      type: authentication_error
                      code: missing_api_key
                      message: No API key was provided.
                      requestId: req_01J8X4M2N9P3Q5R7
                invalid:
                  summary: Unknown key
                  value:
                    error:
                      type: authentication_error
                      code: invalid_api_key
                      message: The API key provided is not valid.
                      requestId: req_01J8X4M2N9P3Q5R7
                revoked:
                  summary: Revoked key
                  value:
                    error:
                      type: authentication_error
                      code: revoked_api_key
                      message: This API key has been revoked.
                      requestId: req_01J8X4M2N9P3Q5R7
        '403':
          description: The key is valid but lacks the route's scope.
          content:
            application/json:
              example:
                error:
                  type: permission_error
                  code: insufficient_scope
                  message: >-
                    This API key does not have the required scope:
                    contacts.create.
                  requestId: req_01J8X4M2N9P3Q5R7
        '404':
          description: No such Tag in this organization.
          content:
            application/json:
              example:
                error:
                  type: invalid_request_error
                  code: not_found
                  message: >-
                    Tag with ID 0198f2a1-8c3d-7a4e-b5f6-1a2b3c4d5e6f not found
                    in this organization.
                  requestId: req_01J8X4M2N9P3Q5R7
        '429':
          description: Rate limit exceeded. `Retry-After` gives the seconds to wait.
          content:
            application/json:
              example:
                error:
                  type: rate_limit_error
                  code: rate_limit_exceeded
                  message: >-
                    Rate limit of 300 requests per minute exceeded. Retry in
                    23s.
                  requestId: req_01J8X4M2N9P3Q5R7
        '500':
          description: >-
            An error on our side. The original exception is never returned;
            quote `requestId` to support.
          content:
            application/json:
              example:
                error:
                  type: api_error
                  code: internal_error
                  message: An unexpected error occurred.
                  requestId: req_01J8X4M2N9P3Q5R7
      security:
        - api-key: []
components:
  schemas:
    PublicUpdateTagDoc:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 80
        color:
          type: string
          pattern: ^#[0-9a-fA-F]{6}$
    PublicTagDoc:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        color:
          description: '6-digit hex, e.g. #74d44e'
          type: string
        sortOrder:
          type: integer
        uses:
          description: Contacts carrying the tag. List responses only
          type: integer
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
        - id
        - name
        - color
  securitySchemes:
    api-key:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Your API key, e.g. flv_9f2a8c1e…

````