Skip to main content

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 with postgresql+psycopg://. Should be in the format specifiec in template.env
  • TZ - Timezone of the container
  • PGTZ - Timezone the Postgres container should use
  • NEXTCLOUD_URL - Base URL (must be https://) of the Nextcloud instance used by /webhook/nextcloud-talk
  • NEXTCLOUD_TALK_TOKEN - Conversation token of the registered Nextcloud Talk bot used by /webhook/nextcloud-talk
  • NEXTCLOUD_TALK_SECRET - Shared secret of the registered Nextcloud Talk bot used by /webhook/nextcloud-talk

Webhooks

  • POST /webhook/nextcloud-talk - Forwards a header and message to a Nextcloud Talk conversation via the Nextcloud Talk Bot API, using the nctalk package. Requires the X-API-KEY header 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"}

Metadata

Release files for js-api 0.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for js-api 0.3.5
File Size Uploaded
js_api-0.3.5.tar.gz 26.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for js-api 0.3.5
File Interpreter ABI Platform
js_api-0.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 53.4 kB

Release files / js_api-0.3.5.tar.gz

Download URL js_api-0.3.5.tar.gz
Size 26.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1cf50508902636420ebbe5aafac76a821b6003bd48dba68a2dbb61514bd798fb
BLAKE2b-256 checksum
How to use checksums
643c291eca18632793112d12bf6bf0d48d8a04d494f4877229dae067e5a906d6
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 Oct 15, 2026.

Transparency log

Release files / js_api-0.3.5-py3-none-any.whl

Download URL js_api-0.3.5-py3-none-any.whl
Size 26.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
25288f1ae1e5e57a0b91d873c4dd8081af48d8a08b58d22adb93145fa4aa1c28
BLAKE2b-256 checksum
How to use checksums
b702445158e4cba6e6ced01355b0822932cb9fd2c23354ca50effb998ff9b9f1
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 Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.5 This release

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.99

2 release files

0.2.98

2 release files

0.2.97

2 release files

0.2.96

2 release files

0.2.93

2 release files

0.2.92

2 release files

0.2.91

2 release files

0.2.90

2 release files

0.2.88

2 release files

0.2.87

2 release files

0.2.86

2 release files

0.2.85

2 release files

0.2.84

2 release files

0.2.83

2 release files

0.2.81

2 release files

0.2.80

2 release files

0.2.79

2 release files

0.2.78

2 release files

0.2.77

2 release files

0.2.76

2 release files

0.2.75

2 release files

0.2.74

2 release files

0.2.73

2 release files

0.2.72

2 release files

0.2.71

2 release files

0.2.70

2 release files

0.2.69

2 release files

0.2.68

2 release files

0.2.67

2 release files

0.2.64

2 release files

0.2.61

2 release files

0.2.60

2 release files

0.2.59

2 release files

0.2.58

2 release files

0.2.57

2 release files

0.2.56

2 release files

0.2.55

2 release files

0.2.54

2 release files

0.2.50

2 release files

0.2.42

2 release files

0.2.41

2 release files

0.2.40

2 release files

0.2.30

2 release files

0.2.29

2 release files

0.2.28

2 release files

0.2.27

2 release files

0.2.26

2 release files

0.2.22

2 release files

0.2.21

2 release files

0.2.20

2 release files

0.2.19

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.13

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page