Instance metadata

For many features of PawPub to work properly, instances must provide metadata about themselves. For example, authentication and push use an instance-wide endpoint, which is specified in the instance metadata. It also provides some other information that clients or third-party services may wish to use.

Schemalink

The following should be present at the path /.well-known/pawpub-instance:

Examplelink

{
    "name": "Example Social",
    "description": "example pawpub instance",
    "softwareName": "Digitigrade",
    "softwareDescription": "An experimental PawPub server",
    "softwareVersion": "v0.1.0",
    "endpoints": {
        "auth": "https://example.social/auth/main",
        "report": "https://example.social/report",
        "push": "https://example.social/push",
        "subscribe": "https://example.social/subscribe",
        "unsubscribe": "https://example.social/unsubscribe"
    }
}

NodeInfolink

You can also provide a NodeInfo document if you want to, but it's not required and isn't really part of the PawPub spec. If you do provide one, you should specify "pawpub" in the supported protocols. You can also include this JSON object in the freeform metadata: