API
This is a custom API, written in Python using FastAPI, to help me accomplish tasks the can be improved through a RESTful API
Setup
Simplest setup is to start from compose.yml and template.env, which should be renamed to .env
Environment Vairables
API_KEY- Any long, random string. Keep this secret as this is the only form of authentication for the API. All routes require it, except/health-check/DATABASE_URL- The URL to connect to postgres DB. Must start withpostgresql+psycopg://. Should be in the format specifiec in template.envTZ- Timezone of the containerPGTZ- Timezone the Postgres container should useNEXTCLOUD_URL- Base URL (must behttps://) of the Nextcloud instance used by/webhook/nextcloud-talkNEXTCLOUD_TALK_TOKEN- Conversation token of the registered Nextcloud Talk bot used by/webhook/nextcloud-talkNEXTCLOUD_TALK_SECRET- Shared secret of the registered Nextcloud Talk bot used by/webhook/nextcloud-talk
Webhooks
POST /webhook/nextcloud-talk- Forwards aheaderandmessageto a Nextcloud Talk conversation via the Nextcloud Talk Bot API, using the nctalk package. Requires theX-API-KEYheader and a JSON body:{"header": "...", "message": "..."}
How to Access
Using the compose.yml file, you can access the API at http://<IP>:5000/health-check. If everything is setup correctly, you should see {"status":"ok"}
Release files for js-api 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| js_api-0.3.1.tar.gz | 26.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| js_api-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.4 kB
Release files / js_api-0.3.1.tar.gz
| Download URL | js_api-0.3.1.tar.gz |
|---|---|
| Size | 26.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
63ee475aa01bc876c661c2a0f93bb3cdb73f6b47b667e7e83807a4cb0090669a
|
|
BLAKE2b-256 checksum How to use checksums |
1af4deedfe8d5ec93da4973030a084bccbb8a200678fcfed276e152e21176d86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency logRelease files / js_api-0.3.1-py3-none-any.whl
| Download URL | js_api-0.3.1-py3-none-any.whl |
|---|---|
| Size | 26.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f6ecc14c234ad4933da56842a1563e4bab868ce78c85a14f7effe873cbd571a9
|
|
BLAKE2b-256 checksum How to use checksums |
9d66c0413611e6190f7412cdc336aa19caee06f5c4efc1c7734e489355af4069
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency log