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

# Get where a partner's uploaded files are stored

> Returns the partner's storage destination without its secret: the endpoint, bucket, folder and public
address, the last four characters of the access key id, when the destination last passed the check, and
why the latest re-check failed if it did. Responds 404 while the partner has no destination, which means
the partner cannot be activated, its uploads are refused, and no editor session is made for its customers
until a destination is set.

The caller must be the person who administers the partner, or a Widgetic administrator.




## OpenAPI

````yaml /openapi/widgetic-api-public.json get /partners/{partnerId}/storage
openapi: 3.0.0
info:
  title: Widgetic API Gateway
  version: 1.0.0
  description: API documentation for the Widgetic API Gateway
  license:
    name: Widgetic Integration License
    url: https://docs.widgetic.com/resources/license
servers:
  - url: https://api.widgetic.com/v1
    description: Production server
    variables:
      env:
        default: production
        description: Environment
      apiUrl:
        default: https://api.widgetic.com
        description: API URL
      apiVersion:
        default: /v1
        description: API Version path prefix
security: []
tags: []
paths:
  /partners/{partnerId}/storage:
    get:
      tags:
        - Partners
      summary: Get where a partner's uploaded files are stored
      description: >
        Returns the partner's storage destination without its secret: the
        endpoint, bucket, folder and public

        address, the last four characters of the access key id, when the
        destination last passed the check, and

        why the latest re-check failed if it did. Responds 404 while the partner
        has no destination, which means

        the partner cannot be activated, its uploads are refused, and no editor
        session is made for its customers

        until a destination is set.


        The caller must be the person who administers the partner, or a Widgetic
        administrator.
      operationId: getPartnerStorageDestination
      parameters:
        - in: path
          name: partnerId
          required: true
          schema:
            type: string
            format: uuid
          description: The partner whose storage destination to read
      responses:
        '200':
          description: The partner's storage destination
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerStorageDestinationResponse'
        '401':
          description: The API key is missing or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: The caller does not administer this partner
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The partner has no storage destination
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKeyAuth: []
components:
  schemas:
    PartnerStorageDestinationResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          description: Always `true` on a success.
          example: true
        data:
          $ref: '#/components/schemas/PartnerStorageDestination'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
    ErrorResponse:
      type: object
      required:
        - success
        - message
        - error
      additionalProperties: true
      properties:
        success:
          type: boolean
          description: Always `false` on a failure.
          example: false
        message:
          type: string
          description: The same text as `error.message`, for a caller that reads one line.
        error:
          $ref: '#/components/schemas/ErrorDetail'
    PartnerStorageDestination:
      type: object
      description: >
        The bucket a partner keeps the files its account uploads in: a bucket on
        an S3-compatible service that the partner owns. The secret access key is
        never returned.
      required:
        - partnerId
        - endpoint
        - region
        - bucket
        - keyPrefix
        - publicBaseUrl
        - forcePathStyle
        - accessKeyHint
        - verifiedAt
        - updatedAt
      properties:
        partnerId:
          type: string
          format: uuid
        endpoint:
          type: string
          description: The HTTPS address of the S3-compatible service, scheme and host only
          example: https://abc123.r2.cloudflarestorage.com
        region:
          type: string
          example: auto
        bucket:
          type: string
          example: acme-widget-media
        keyPrefix:
          type: string
          description: >-
            The folder inside the bucket every file is written under. Empty, or
            folders each followed by a slash.
          example: widgetic/
        publicBaseUrl:
          type: string
          description: >-
            Where the stored files are served from. A file's url is this
            address, a slash and the file's key.
          example: https://media.example.com
        forcePathStyle:
          type: boolean
          description: >-
            Whether the bucket name goes in the path of a request (true) or in
            the host name (false)
        accessKeyHint:
          type: string
          description: >-
            The last four characters of the access key id, to tell which key is
            set. Not enough to use it.
          example: 4F2A
        verifiedAt:
          type: string
          format: date-time
          description: When the destination last passed the check
        lastVerificationError:
          type: string
          nullable: true
          description: >-
            Why the most recent re-check failed. Null while the last check
            passed.
        lastVerificationFailedAt:
          type: string
          format: date-time
          nullable: true
        updatedAt:
          type: string
          format: date-time
      example:
        partnerId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        endpoint: https://abc123.r2.cloudflarestorage.com
        region: auto
        bucket: acme-widget-media
        keyPrefix: widgetic/
        publicBaseUrl: https://media.example.com
        forcePathStyle: true
        accessKeyHint: 4F2A
        verifiedAt: '2026-01-15T09:30:00.000Z'
        lastVerificationError: Example lastVerificationError
        lastVerificationFailedAt: '2026-01-15T09:30:00.000Z'
        updatedAt: '2026-01-15T09:30:00.000Z'
    ResponseMeta:
      type: object
      description: >-
        Extra information about the answer: where a page sits in a list, the
        cursor of the next page, or warnings about a call that succeeded with a
        caveat.
      additionalProperties: true
      properties:
        page:
          type: integer
          description: The page that was read, counting from 1.
          example: 1
        size:
          type: integer
          description: How many items one page holds.
          example: 20
        total:
          type: integer
          description: How many items the whole list has.
          example: 135
        limit:
          type: integer
          description: The same as `size`.
          example: 20
        offset:
          type: integer
          description: How many items come before this page.
          example: 0
        hasNextPage:
          type: boolean
          example: true
        hasPreviousPage:
          type: boolean
          example: false
        nextCursor:
          type: string
          nullable: true
          description: >-
            Pass this as `cursor` to read the next page of a list that is read
            by cursor. `null` on the last page.
        warnings:
          type: array
          items:
            type: string
          description: >-
            Things the call did not do, though it succeeded (for example a table
            that could not be created just now).
    ErrorDetail:
      type: object
      required:
        - code
        - message
        - timestamp
      properties:
        code:
          type: string
          description: Machine-readable error code.
          example: RESOURCE_NOT_FOUND
        message:
          type: string
          description: Human-readable explanation.
          example: Composition not found
        param:
          type: string
          description: The field that caused the error, when one did.
          example: name
        docUrl:
          type: string
          description: Where this error is explained.
        suggestedAction:
          type: string
          description: What to do about it.
        retryAfter:
          type: integer
          description: >-
            Seconds to wait before trying again (rate limits). The same number
            is in the `Retry-After` header.
          example: 60
        details:
          type: object
          additionalProperties: true
          description: >-
            More about the error: the fields that failed, a limit that was
            reached.
        correlationId:
          type: string
          description: Quote this when you ask support about the call.
          example: req_123e4567-e89b-12d3-a456-426614174000
        timestamp:
          type: string
          format: date-time
          example: '2026-10-15T10:00:00.000Z'
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

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