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

# Upload a sponsor's logo or cover image

> Uploads and validates an image and replaces the sponsor's current logo or cover. Logo: JPEG/PNG, min 320x160 px. Cover: JPEG/PNG/GIF, min 1080x360 px. Both max 4 MB. Send either a multipart part named 'file' or an 'imageUrl' request parameter — exactly one of the two.

Required API key scopes: `WRITE`

**This API can only be called with an access key that was generated for Backend usage.**



## OpenAPI

````yaml https://api.prod.zuddl.com/api/v3/api-docs/api-product post /v1/events/{eventId}/sponsors/{sponsorId}/image
openapi: 3.1.0
info:
  title: Zuddl API Documentation
  description: >-
    Zuddl RESTful APIs let you interact with the Zuddl platform and take action
    for your event or webinar. They let you add attendees, get attendee details,
    get event details, and more.


    The API response is returned in JSON, which your systems can easily consume.


    The API parameters allow you to customize the response using filters,
    sorting, pagination, and other parameters. Parameter values should be
    percent-encoded (URL-encoded) to ensure correct transmission, especially if
    they contain special characters such as spaces, semi-colons, or slashes.


    # Rate limits


    | Metrics | Value |

    | --- | --- |

    | Requests/second | 10 |

    | Burst or no. of concurrent calls allowed | 100 requests |

    | Total quota | 10000 requests/day |
  version: '1.0'
servers:
  - url: https://api.zuddl.com/
security:
  - api_key: []
tags:
  - name: Events
    description: API endpoints for managing events
  - name: Attendees
    description: >-
      The attendee APIs let you add and retrieve attendee in a particular event
      type.
  - name: Sessions
    description: API endpoints for managing event sessions
  - name: Speakers
    description: API endpoints for managing event speakers
  - name: Sponsors
    description: API endpoints for managing event sponsors
  - name: Teams
    description: API endpoints for reading the teams events can be created in
  - name: Locations
    description: API endpoints for managing event locations
paths:
  /v1/events/{eventId}/sponsors/{sponsorId}/image:
    post:
      tags:
        - Sponsors
      summary: Upload a sponsor's logo or cover image
      description: >-
        Uploads and validates an image and replaces the sponsor's current logo
        or cover. Logo: JPEG/PNG, min 320x160 px. Cover: JPEG/PNG/GIF, min
        1080x360 px. Both max 4 MB. Send either a multipart part named 'file' or
        an 'imageUrl' request parameter — exactly one of the two.


        Required API key scopes: `WRITE`


        **This API can only be called with an access key that was generated for
        Backend usage.**
      operationId: uploadSponsorImage
      parameters:
        - name: eventId
          in: path
          description: Unique identifier of the event
          required: true
          schema:
            type: string
            pattern: >-
              ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          example: 4fcebf73-3ddb-4fe6-b56d-5dd7dedb7c3d
        - name: sponsorId
          in: path
          description: Unique identifier of the sponsor
          required: true
          schema:
            type: string
            pattern: >-
              ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          example: 4fcebf73-3ddb-4fe6-b56d-5dd7dedb7ci9
        - name: imageType
          in: query
          description: 'Which image to replace: LOGO or COVER'
          required: false
          schema:
            type: string
            default: LOGO
            description: Which sponsor image to replace
            enum:
              - LOGO
              - COVER
        - name: imageUrl
          in: query
          description: Publicly reachable image URL — alternative to 'file'
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: The image file (multipart part named 'file')
      responses:
        '200':
          description: Image uploaded and sponsor updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SponsorImageUploadResponse'
        '400':
          description: >-
            Invalid image (type, size, dimensions, or corrupt pixel data),
            failed imageUrl download, or missing/ambiguous image source
          content:
            '*/*':
              schema:
                $ref: >-
                  #/components/schemas/org.events.app._internal._response.v1.ApiErrorResponse
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                $ref: >-
                  #/components/schemas/org.events.app._internal._response.v1.ApiErrorResponse
        '404':
          description: Sponsor not found in this event (SPONSOR_NOT_FOUND)
          content:
            '*/*':
              schema:
                $ref: >-
                  #/components/schemas/org.events.app._internal._response.v1.ApiErrorResponse
        '413':
          description: >-
            Multipart body exceeds the server upload limit (FILE_TOO_LARGE;
            legacy error envelope)
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SponsorImageUploadResponse'
        '422':
          description: >-
            imageUrl rejected before download: INVALID_URL, PRIVATE_ADDRESS, or
            UNRESOLVABLE
          content:
            '*/*':
              schema:
                $ref: >-
                  #/components/schemas/org.events.app._internal._response.v1.ApiErrorResponse
components:
  schemas:
    SponsorImageUploadResponse:
      description: Result of a sponsor image upload
      properties:
        sponsorId:
          type: string
          description: Unique ID of the sponsor
          example: 4fcebf73-3ddb-4fe6-b56d-5dd7dedb7c3d
        imageType:
          type: string
          description: Which sponsor image to replace
          enum:
            - LOGO
            - COVER
          example: LOGO
        imageUrl:
          type: string
          description: Public URL of the newly uploaded image
          example: https://images.zuddl.com/8f14e45f-ea2b-4b0c-9f3a-1d2e3f4a5b6c
    org.events.app._internal._response.v1.ApiErrorResponse:
      properties:
        timestamp:
          type: string
          format: date-time
        message:
          type: string
        description:
          type: string
        code:
          type: string
        params:
          type: object
          additionalProperties:
            type: object
        errors:
          type: object
          additionalProperties:
            type: string
  securitySchemes:
    api_key:
      type: apiKey
      description: Provide your API key secret in the `Authorization` header
      name: Authorization
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.