For what its worth, I just copy/pasted your payload and was able to make a post just fine. I only changed the community_id.
PieFed API & mobile app dev
Announcements and discussions about the PieFed API - changes, improvements and general co-ordination between the frontend developers and the core of PieFed.
- stable docs (currently 1.2.x branch)
- development docs
Huh...
Alright, if I had to guess, the problem might be in how you are submitting your payload. The fact that those two fields are the only required ones and both of them are considered missing tells me that the most likely scenario is that piefed isn't receiving any of your payload.
The POST /post endpoint takes a request body with the json structure that you have there. Passing data to the api in a request body like this is different than passing data in query parameters in the url. I am not sure what tool/language you are using to interface with the api, but make sure you are passing the json in the right way for the endpoint.
I'm using reqwest within Rust. I think youre definitely right though. Tomorrow when I'm back at my desk ill try submitting the body in a different way
I don't really know rust at all...but combining what I found from a quick search here and the official docs, it looks like you need to build a structure matching the json that is then serialized into json by reqwest rather than passing a json string directly.
omfg... there was a typo in my header...
it's working now
What instance are you trying to post to?
Crust.piefed.social on this account
semi-related note... In the API the form is limited to just:
{
"title": "string",
"community_id": 0,
"body": "string",
"url": "string",
"nsfw": true,
"language_id": 0
}
But the piefed "create post" page allows you to add a few extra things like alt text. How would one add alt text through the api?
Yeah, the api is comparatively limited compared to the web ui still in many ways. This is one of them.