# Broken API functionality: Asset linking, Asset query, Files/search

**URL:** <https://community.hubspot.com/t/broken-api-functionality-asset-linking-asset-query-files-search/149389>\
**Category:** APIs & Integrations\
**Tags:** forms\
**Created:** [May 15, 2026, 7:19am UTC](https://community.hubspot.com/t/broken-api-functionality-asset-linking-asset-query-files-search/149389 "2026-05-15T07:19:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sebbo](https://avatars.discourse-cdn.com/v4/letter/s/45deac/32.png) [@Sebbo](https://community.hubspot.com/u/Sebbo)\
**Post date:** [May 15, 2026, 7:19am UTC](https://community.hubspot.com/t/broken-api-functionality-asset-linking-asset-query-files-search/149389/1 "2026-05-15T07:19:50Z")

</div>

Hey folks,

I am stumped by a number of different API calls which seem to not work as expected.  
Trying to associate an asset with a campaign doesn’t work via the API:  
[PUT] [https://api.hubapi.com/marketing/campaigns/2026-03/{campaignGuid}/assets/FORM/{formId}](https://api.hubapi.com/marketing/campaigns/2026-03/%7BcampaignGuid%7D/assets/FORM/%7BformId%7D)  
always returns a validation error with message:

`"Invalid asset id '{internalFormId}' for assetType 'FORM'"`

We can see that the values are correct because the formId GUID is being resolved to an internal Id (a 12 digit number). This also applies to other assetTypes (eg FILE\_MANAGER\_FILE or EMAIL)  
Then, when the asset is manually associated with the campaign via the UI, a call to retrieve all of the campaign assets yields zero results  
[GET] [https://api.hubapi.com/marketing/campaigns/2026-03/{campaignId}/assets/FORM](https://api.hubapi.com/marketing/campaigns/2026-03/%7BcampaignId%7D/assets/FORM)

```lia-code-sample
{
 "results": []
}

```

Similarly, this also applies to any other asset types.  
Also, when attempting to return a list of files via the /search the response also yields no results:  
[GET] [https://api.hubapi.com/files/2026-03/files/search](https://api.hubapi.com/files/v3/files/search)

```lia-code-sample
{
 "results": []
}

```

We definitely have non-achived/non-hidden files uploaded, and fetching the file data explicitly with a known ID returns the information as expected:  
[GET] [https://api.hubapi.com/files/2026-03/files/{fileId}](https://api.hubapi.com/files/2026-03/files/%7BfileId%7D)  
Authentication is being performed with a service key

---

<div class="post-metadata">

**Author:** ![Sebbo](https://avatars.discourse-cdn.com/v4/letter/s/45deac/32.png) [@Sebbo](https://community.hubspot.com/u/Sebbo)\
**Post date:** [May 15, 2026, 7:46am UTC](https://community.hubspot.com/t/broken-api-functionality-asset-linking-asset-query-files-search/149389/2 "2026-05-15T07:46:40Z")

</div>

I have just tried creating a Legacy App and using the access token for the same requests, and they seem to succeed. I suppose we will just need to use this mode of authentication until the Service Key comes out of beta?

---

<div class="post-metadata">

**Author:** ![stassey](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/stassey/32/36_2.png) [@stassey](https://community.hubspot.com/u/stassey)\
**Post date:** [May 15, 2026, 7:26pm UTC](https://community.hubspot.com/t/broken-api-functionality-asset-linking-asset-query-files-search/149389/3 "2026-05-15T19:26:45Z")

</div>

Hey @Sebbo,

Welcome to the Community!

Glad you were able to find a way around this. That said, you can find more on Service Keys here

- [Service Keys enter public beta for system-to-system integrations](https://developers.hubspot.com/changelog/service-keys)

I’d like to tag in some of our Top Contributors to see if they additional suggestions on top of what you’ve found already.

Hey @Josh, @Anton, @GRajput -- Do you have any suggestions for @Sebbo on this?

Thanks in advance!

Best,

Sam, Community Manager

---

<div class="post-metadata">

**Author:** ![Sebbo](https://avatars.discourse-cdn.com/v4/letter/s/45deac/32.png) [@Sebbo](https://community.hubspot.com/u/Sebbo)\
**Post date:** [May 18, 2026, 12:59am UTC](https://community.hubspot.com/t/broken-api-functionality-asset-linking-asset-query-files-search/149389/4 "2026-05-18T00:59:56Z")

</div>

Yep, cheers for the link - as mentioned, we can use the Legacy App as a means of authentication, but it does seem very misleading that there is no “function is not supported (yet?)” message when using service keys for the various calls… wondering if this is a known limitation and it is the features are intended to be added going forward, or are we just using the methods incorrectly?
