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

# Add a media item (photo/video) using uploadId and category



## OpenAPI

````yaml https://api.bundle.social/swagger-json post /api/v1/misc/google-business/media
openapi: 3.0.2
info:
  title: bundle.social API
  description: >-
    REST API for social media management. Perfect for AI assistants, GPTs,
    automation tools, and integrations. Post to 14+ platforms including Twitter,
    Instagram, Facebook, LinkedIn, TikTok, Pinterest, Reddit, Discord, Slack,
    YouTube, Mastodon, Bluesky, Threads, and Google Business. Schedule posts,
    manage content, analyze performance, and automate your social media workflow
    across all platforms.
  version: 1.0.0
  contact:
    email: contact@bundle.social
  termsOfService: https://bundle.social/terms
servers:
  - url: https://api.bundle.social
  - url: http://localhost:3001
security:
  - ApiKeyAuth: []
tags:
  - name: app
  - name: organization
  - name: team
  - name: socialAccount
  - name: upload
  - name: post
  - name: postImport
  - name: analytics
  - name: comment
  - name: misc
  - name: postCSV
paths:
  /api/v1/misc/google-business/media:
    post:
      tags:
        - misc
      summary: Add a media item (photo/video) using uploadId and category
      operationId: misc.google_business.addMedia
      parameters: []
      requestBody:
        description: Body
        content:
          application/json:
            schema:
              type: object
              properties:
                teamId:
                  type: string
                uploadId:
                  type: string
                category:
                  default: ADDITIONAL
                  type: string
                  enum:
                    - CATEGORY_UNSPECIFIED
                    - COVER
                    - PROFILE
                    - LOGO
                    - EXTERIOR
                    - INTERIOR
                    - PRODUCT
                    - AT_WORK
                    - FOOD_AND_DRINK
                    - MENU
                    - COMMON_AREA
                    - ROOMS
                    - TEAMS
                    - ADDITIONAL
                description:
                  type: string
                  maxLength: 2000
              required:
                - teamId
                - uploadId
              additionalProperties: false
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  googleUrl:
                    type: string
                    format: uri
                  mediaFormat:
                    type: string
                    enum:
                      - PHOTO
                      - VIDEO
                  sourceUrl:
                    type: string
                    format: uri
                  thumbnailUrl:
                    type: string
                    format: uri
                  locationAssociation:
                    type: object
                    properties:
                      category:
                        type: string
                        enum:
                          - CATEGORY_UNSPECIFIED
                          - COVER
                          - PROFILE
                          - LOGO
                          - EXTERIOR
                          - INTERIOR
                          - PRODUCT
                          - AT_WORK
                          - FOOD_AND_DRINK
                          - MENU
                          - COMMON_AREA
                          - ROOMS
                          - TEAMS
                          - ADDITIONAL
                      priceListItemId:
                        type: string
                  description:
                    type: string
                additionalProperties: true
        '400':
          description: '400'
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    nullable: true
                  message:
                    type: string
                  issues:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - invalid_type
                            - invalid_literal
                            - custom
                            - invalid_union
                            - invalid_union_discriminator
                            - invalid_enum_value
                            - unrecognized_keys
                            - invalid_arguments
                            - invalid_return_type
                            - invalid_date
                            - invalid_string
                            - too_small
                            - too_big
                            - invalid_intersection_types
                            - not_multiple_of
                            - not_finite
                          nullable: true
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            oneOf:
                              - type: string
                              - type: number
                          nullable: true
                      required:
                        - message
                    nullable: true
                required:
                  - message
        '401':
          description: '401'
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    nullable: true
                  message:
                    type: string
                required:
                  - message
        '403':
          description: '403'
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    nullable: true
                  message:
                    type: string
                required:
                  - message
        '404':
          description: '404'
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    nullable: true
                  message:
                    type: string
                required:
                  - message
        '429':
          description: '429'
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    nullable: true
                  message:
                    type: string
                required:
                  - message
        '500':
          description: '500'
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    nullable: true
                  message:
                    type: string
                required:
                  - message
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: x-api-key
      in: header

````