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

# Edit an idea you saved from the Chrome extension

> Only an idea the signed-in user saved through POST /v1/ideas. Any other id returns 404 and nothing is written.



## OpenAPI

````yaml /api-reference/openapi.yaml patch /v1/ideas/{id}
openapi: 3.1.0
info:
  title: Sydium Public API
  version: 1.0.0
servers:
  - url: https://api.sydium.com
security:
  - ApiKey: []
paths:
  /v1/ideas/{id}:
    patch:
      summary: Edit an idea you saved from the Chrome extension
      description: >-
        Only an idea the signed-in user saved through POST /v1/ideas. Any other
        id returns 404 and nothing is written.
      operationId: updateExtensionIdea
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateIdeaRequest'
      responses:
        '200':
          description: The updated idea
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecentIdeaResponse'
        '401':
          description: Unauthenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden (scope/permission, or no active plan)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No such idea saved from the extension by you
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    UpdateIdeaRequest:
      type: object
      minProperties: 1
      properties:
        content:
          type: string
          minLength: 1
          maxLength: 5000
        topic:
          type:
            - string
            - 'null'
          maxLength: 200
          description: null or empty clears it.
        platform:
          type:
            - string
            - 'null'
          description: null clears it.
          enum:
            - instagram
            - tiktok
            - youtube
            - linkedin
            - twitter
            - facebook
            - pinterest
            - bluesky
            - threads
            - mastodon
            - gbp
            - null
    RecentIdeaResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          const: true
        data:
          $ref: '#/components/schemas/RecentIdea'
        meta:
          type: object
    ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          const: false
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              enum:
                - bad_request
                - unauthorized
                - forbidden
                - insufficient_permissions
                - not_found
                - unprocessable
                - payload_too_large
                - rate_limited
                - invalid_state
                - external_service_error
                - internal_error
            message:
              type: string
        meta:
          type: object
    RecentIdea:
      type: object
      required:
        - id
        - content
        - sourceUrl
        - createdAt
      properties:
        id:
          type: string
        content:
          type: string
        topic:
          type: string
          description: Absent when not set.
        platform:
          type: string
          description: Absent when the idea is not platform-specific.
          enum:
            - instagram
            - tiktok
            - youtube
            - linkedin
            - twitter
            - facebook
            - pinterest
            - bluesky
            - threads
            - mastodon
            - gbp
        sourceUrl:
          type: string
        createdAt:
          type: string
          format: date-time
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      description: >-
        Opaque API key (sk_live_... / sk_test_...), or an OAuth access token
        issued for the REST API

````