Case study in APIs

Open
#322 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Domain
api

Research direction

The issue contains API request and response examples but names no repository file, test, or entry point to change. Start by locating the code that handles the shown post-creation response; done would require a maintainer-defined higher-level result that exposes the created post location and addresses the broader API concerns.

Written by the indexing model from the issue text.

Description

This is the info that my app sends to a server that then converts it to Bluesky's internal language as the arguments for a call that will create a new post. These are standard names for these things that any experience programmer would immediately recognize. Users would recognize them too, except perhaps urlsite.

{
    "title": "",
    "description": "Room for One More on Mount Rushmore?",
    "mailaddress": "",
    "password": "",
    "urlsite": "https://bsky.social/",
    "link": "https://politicalwire.com/2025/06/29/room-for-one-more-on-mount-rushmore/"
    }

And this is what comes back.

{
    "uri": "at://did:plc:zxb2lwpxo4axkkkgjwqand24/app.bsky.feed.post/3lsqtoowg2h2h",
    "cid": "bafyreifhet2772xmic24qr4xbui4l5lllvgek2a7kmmchojwwkufvzalci",
    "commit": {
        "cid": "bafyreicjjsd4ixlezubezaxzfaqxxpwlvoxdqwyxblnme5uh6ehklxth3a",
        "rev": "3lsqtoowpsx2h"
        },
    "validationStatus": "valid"
    }

Some of the terms mean something, like URI and commit, but their values don't mean anything to me, don't shed any light on what the result was except "validationStatus": "valid" seems to say "it worked." :-)

And nowhere in this package is the one piece of info every freaking app would need after posting something -- where the F did you put it!??

I don't have a problem with detailed internal info coming back from a query. I know APIs are used for lots of applications. But this is a problem I've seen repeatedly in their API, they push the work out to the developer where they for sure have the code internally to do it, and could factor out the work, instead of making us all implement what we're sure to need, do it once and provide a higher level interface.

Just some feedback for the Bluesky folk, and a caution when designing your own APIs, write some code that runs against your API, you'd see these problems right away.

Dominant language
HTML
Stars
134
Forks
10
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from scripting/Scripting-News

All issues in scripting/Scripting-News

Similar issues

More Backend & API Design issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.