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

# Get Content Upload Url

> Retrieves the pre-signed URL for uploading a content file. A subsequent HTTP PUT to the returned URL uploads the content. Also, please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply.

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| BillingInformationRequired | 1266 |
| ContentQuotaExceeded | 1137 |
| NotAuthorized | 1089 |
| ProductDisabledForTitle | 1609 |




## OpenAPI

````yaml post /Admin/GetContentUploadUrl
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Admin API
  description: >-
    APIs for managing title configurations, uploaded Game Server code
    executables, and user data
  termsOfService: https://playfab.com/terms/
  contact:
    url: https://community.playfab.com/index.html
  license:
    name: Apache 2.0
    url: https://github.com/PlayFab/API_Specs/blob/master/LICENSE
servers:
  - url: https://{titleId}.playfabapi.com
    description: PlayFab title endpoint
    variables:
      titleId:
        default: your_title_id
        description: Your PlayFab title ID (hex).
security: []
tags:
  - name: Account Management
    description: Account Management APIs
  - name: Authentication
    description: Authentication APIs
  - name: Characters
    description: Characters APIs
  - name: Content
    description: Content Service APIs
  - name: Custom Server Management
    description: Custom Server Management APIs
  - name: Matchmaking
    description: Matchmaking APIs
  - name: Player Data Management
    description: Player Data Management APIs
  - name: Player Item Management
    description: Player Item Management APIs
  - name: PlayStream
    description: PlayStream Management APIs
  - name: ScheduledTask
    description: Task management APIs
  - name: Segments
    description: Segment management APIs
  - name: Server-Side Cloud Script
    description: Server-Side Cloud Script APIs
  - name: Shared Group Data
    description: Shared Group Data APIs
  - name: Title-Wide Data Management
    description: Title-Wide Data Management APIs
  - name: Xbox Store
    description: Xbox Store APIs
paths:
  /Admin/GetContentUploadUrl:
    post:
      tags:
        - Content
      summary: Get Content Upload Url
      description: >
        Retrieves the pre-signed URL for uploading a content file. A subsequent
        HTTP PUT to the returned URL uploads the content. Also, please be aware
        that the Content service is specifically PlayFab's CDN offering, for
        which standard CDN rates apply.


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | BillingInformationRequired | 1266 |

        | ContentQuotaExceeded | 1137 |

        | NotAuthorized | 1089 |

        | ProductDisabledForTitle | 1609 |
      operationId: GetContentUploadUrl
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetContentUploadUrlRequest'
      responses:
        '200':
          $ref: '#/components/responses/GetContentUploadUrlResult'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - SecretKey: []
components:
  schemas:
    GetContentUploadUrlRequest:
      type: object
      properties:
        ContentType:
          description: >-
            A standard MIME type describing the format of the contents. The same
            MIME type has to be set in the header when uploading the content. If
            not specified, the MIME type is 'binary/octet-stream' by default.
          type: string
        Key:
          description: >-
            Key of the content item to upload, usually formatted as a path, e.g.
            images/a.png
          type: string
      required:
        - Key
      example:
        Key: images/sword_icon.png
        ContentType: image/png
    GetContentUploadUrlResult:
      type: object
      properties:
        URL:
          description: >-
            URL for uploading content via HTTP PUT method. The URL requires the
            'x-ms-blob-type' header to have the value 'BlockBlob'. The URL will
            expire in approximately one hour.
          type: string
      example:
        URL: https://...
    ApiErrorWrapper:
      description: The basic wrapper around every failed API response
      type: object
      properties:
        code:
          description: Numerical HTTP code
          type: integer
        status:
          description: String HTTP code
          type: string
        error:
          description: Playfab error code
          type: string
        errorCode:
          description: Numerical PlayFab error code
          type: integer
        errorMessage:
          description: Description for the PlayFab errorCode
          type: string
        errorDetails:
          description: Detailed description of individual issues with the request object
          type: object
      required:
        - code
        - errorCode
  responses:
    GetContentUploadUrlResult:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: integer
                description: >-
                  The Http status code. If X-ReportErrorAsSuccess header is set
                  to true, this will report the actual http error code.
              status:
                type: string
                description: The Http status code as a string.
              data:
                $ref: '#/components/schemas/GetContentUploadUrlResult'
            example:
              code: 200
              status: OK
              data:
                URL: https://...
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  securitySchemes:
    SecretKey:
      type: apiKey
      in: header
      name: X-SecretKey
      description: >-
        This API requires a title secret key, available to title admins, from
        PlayFab Game Manager.

````

## Related topics

- [Get Content Upload Url](/api-reference/content/get-content-upload-url.md)
- [Content Delivery Network quickstart](/services/playfab/data-analytics/legacy/content-delivery-network/quickstart.md)
- [Content & Configuration Reads Meter API Description](/services/playfab/pricing/meters/file-reads.md)
- [Get Asset Upload Url](/services/playfab/api-references/rest/multiplayer/multiplayer-server/get-asset-upload-url.md)
- [Get Content Download Url](/api-reference/content/get-content-download-url.md)
