> ## 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.

# PFCatalogCreateUploadUrlsAsync

> Creates one or more upload URLs which can be used by the client to upload raw file data. Content URls and uploaded content will be garbage collected after 24.

Creates one or more upload URLs which can be used by the client to upload raw file data. Content URls and uploaded content will be garbage collected after 24 hours if not attached to a draft or published item.  can be found here: [/services/playfab/pricing/meters/catalog-meters](/services/playfab/pricing/meters/catalog-meters) See [Catalog Pricing Meters](/services/playfab/pricing/meters/catalog-meters)

## Syntax

```cpp theme={null}
HRESULT PFCatalogCreateUploadUrlsAsync(  
    PFEntityHandle entityHandle,  
    const PFCatalogCreateUploadUrlsRequest* request,  
    XAsyncBlock* async  
)  
```

### Parameters

**`entityHandle`**   PFEntityHandle

PFEntityHandle to use for authentication.

**`request`**   [PFCatalogCreateUploadUrlsRequest\*](/services/playfab/api-references/c/pfcatalogtypes/structs/pfcatalogcreateuploadurlsrequest)

Populated request object.

**`async`**   XAsyncBlock\*<br />*Inout*

XAsyncBlock for the async operation.

### Return value

Type: HRESULT

Result code for this API operation.

## Remarks

This API is available on all platforms. Upload URLs point to Azure Blobs; clients must follow the Microsoft Azure Storage Blob Service REST API pattern for uploading content. The response contains upload URLs and IDs for each file. The IDs and URLs returned must be added to the item metadata and committed using the CreateDraftItem or UpdateDraftItem Item APIs. When the asynchronous task is complete, call [PFCatalogCreateUploadUrlsGetResultSize](/services/playfab/api-references/c/pfcatalog/functions/pfcatalogcreateuploadurlsgetresultsize) and [PFCatalogCreateUploadUrlsGetResult](/services/playfab/api-references/c/pfcatalog/functions/pfcatalogcreateuploadurlsgetresult) to get the result.

## Requirements

**Header:** PFCatalog.h

## See also

[PFCatalog members](/services/playfab/api-references/c/pfcatalog/pfcatalog_members)


## Related topics

- [PFCatalogCreateUploadUrlsGetResult](/services/playfab/api-references/c/pfcatalog/functions/pfcatalogcreateuploadurlsgetresult.md)
- [Services C API overview - PFCatalog.h](/services/playfab/api-references/c/pfcatalog/pfcatalog_members.md)
- [PFCatalogCreateUploadUrlsRequest](/services/playfab/api-references/c/pfcatalogtypes/structs/pfcatalogcreateuploadurlsrequest.md)
- [PFCatalogCreateUploadUrlsResponse](/services/playfab/api-references/c/pfcatalogtypes/structs/pfcatalogcreateuploadurlsresponse.md)
- [PFCatalogCreateUploadUrlsGetResultSize](/services/playfab/api-references/c/pfcatalog/functions/pfcatalogcreateuploadurlsgetresultsize.md)
