- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎Dec 18, 2024 06:15 AM - edited ‎Dec 18, 2024 06:29 AM
I want to add images to an attachment field in an Airtable. I've read all of the documentation and Community comments but can't seem to find an answer to my problem.
- I have a publicly accessible link to the image
- I can call https://api.airtable.com/v0/{baseID}/{tableID}/{recordID} and add an image fine, however, I want to make multiple other calls adding new versions of the image and this call overwrites what is already there but I want to keep the previously uploaded files. (I understand this is an Update call and that logic makes sense.)
- Therefore, I believe I should call https://content.airtable.com/v0/{baseID}/{recordID}/{fieldID}/uploadAttachment passing in a similarly formatted JSON object, however, I cannot get that to work. I get something added to the attachment field, however, it is just 1K gibberish file.
- Here is a copy of what I'm calling:
curl --location 'https://content.airtable.com/v0/{baseID}/{recordID}/{fieldID}/uploadAttachment' \--header 'Authorization: Bearer {accessToken}' \--header 'Content-Type: application/json' \--header 'Cookie: {cookie stuff}' \--data '{"contentType": "image/png","file": "{publicly accessible URL to image}","filename": "Content_Hub_Portraitv2.png"}' - Any help would be appreciated.
Thanks much.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎Dec 18, 2024 06:37 PM
The 'uploadAttachment' API expects the actual file, not a URL to the file I'm afraid; the documentation mentions that it's done via the file bytes directly
As such, you're going to need to retrieve the image first, convert that, and then use that endpoint
As an alternative, you could also try retrieving the record first, append the new file, then do a PATCH?
![ScottWorld ScottWorld](https://community.airtable.com/legacyfs/online/avatars/3X/7/e/7eff84feb0baf275c7ef4416aa8f1be38dbb1471.jpeg)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎Dec 18, 2024 09:12 PM - edited ‎Dec 18, 2024 09:13 PM
You can use public URLs to upload attachments to a record, but you need to do it through the update record API call (or new record call).
Airtable’s new API documentation is extremely confusing, so I would recommend looking at Airtable’s old API documentation, which is PERSONALLY CUSTOMIZED FOR YOUR BASES!
Go to this page, scroll down, choose your base, and the API documentation’s CURL code will be customized for your bases & fields: https://airtable.com/developers/web/api/introduction
- ScottWorld, Expert Airtable Consultant
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎Dec 18, 2024 10:36 PM
@ScottWorld Hmm, you mentioned Airtable's 'new' API documentation being confusing and recommended the old ones. What's new about them?
Do you have a link or something specific I can check out? As far as I can tell, nothing's changed!
![ScottWorld ScottWorld](https://community.airtable.com/legacyfs/online/avatars/3X/7/e/7eff84feb0baf275c7ef4416aa8f1be38dbb1471.jpeg)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎Dec 19, 2024 04:24 AM - edited ‎Dec 19, 2024 04:25 AM
I just gave you the instructions above on how to access the old documentation.
And yes, the documentation went through a major overhaul a few years ago, which everybody has found incredibly confusing, particularly compared to the clarity and personalization of the old documentation.
- ScottWorld, Expert Airtable Consultant
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎Dec 19, 2024 05:40 AM
I was able to update the attachment field using the information that @ScottWorld provided. @TheTimeSavingCo I'd still like to try to use the UPLOADATTACHMENT option but I don't know what you mean by "via the FILE BYTES directly" reference? I'm hoping this option does not require putting my files on a publicly accessible URL site just to import them. Thanks for your help.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎Dec 19, 2024 06:56 AM
Yeap, I have access to that and that's the one I linked to! Could you provide a link to this new documentation you're talking about?
---
@KevinKearnsYou'd basically need to retrieve file from the URL and then send the actual file into the endpoint. Given that you've already got it working I don't think this is worth the effort though
![ScottWorld ScottWorld](https://community.airtable.com/legacyfs/online/avatars/3X/7/e/7eff84feb0baf275c7ef4416aa8f1be38dbb1471.jpeg)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎Dec 19, 2024 07:02 AM
No, that isn’t what you linked to. The old & superior documentation is the custom interactive documentation that changes itself based on what base you choose.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎Dec 19, 2024 07:11 AM
Ah I see, you're referring to the 'Upload Attachment' endpoint documentation I linked to! https://airtable.com/developers/web/api/upload-attachment
That isn't referenced in the interactive documentation as far as I can tell!
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎Dec 19, 2024 07:31 AM - edited ‎Dec 19, 2024 07:34 AM
Hmm, I view the interactive docs as a subset of the overall documentation. The non-interactive docs (screenshot below) contain plenty of information that the interactive docs doesn't e.g. auth levels, scopes, path parameters etc, and so only using the interactive docs might be detrimental
If you could provide a link to the upload attachment API in the interactive docs that'd be super helpful though; they're definitely easier to consume like you said!
![](/skins/images/FE00829FDD2AE889FAB731D8F02A8942/responsive_peak/images/icon_anonymous_message.png)