API cURL or Python help

Hi! I’m trying to do.

requests.get(‘https://db.satnogs.org/api/artifacts’, headers={‘Authorization’: ‘Token xxxxxxx’})

But i get

{“detail”:“Authentication credentials were not provided.”}

can anyone help?

I’m basically just trying to make an observation without the client

UPDATE: Okay so I did get it to work but can someone walk me through the process of uploading the audio and creating an observation through Python3 requests.

The whole goal is to make an observation without using the SatNOGS client because my whole station is already built around another pass scheduler.

Also if anyone has any alternatives please let me know, however I would like to try and stick to Python3 requests.

Thx in advance!

Hi @WXGirl and welcome to the community!

It’s not clear to me if you want to create a station without using SatNOGS Client that will be available in SatNOGS Network for scheduling etc or if you have already a station that creates artifacts (audio, spectrogram, frames(data) etc) and you want to upload these in SatNOGS DB.

Let us know, so we can give you more details.

Yes! I already have a station that creates all of these things. i just want to upload

Hi @WXGirl!

For stations which perform their own observation scheduling, there was historically only the SiDS interface for data submission to SatNOGS.

I’ll post a diagram describing the data flow of such submissions in a future post here.

As you discovered, recently an interface for artifacts submission was added. While already used by some SatNOGS stations (uploading raw waterfall data), these artifacts are not consumed by any service yet.

If you are still interested in uploading artifacts (:+1:, nice!), I just wrote a short endpoint documentation:

  • URL: /api/artifacts
  • Method: POST
  • Auth required: YES
  • Data: Multipart-encoded files. Only one file expected.
    • filename: some-rfc4122-uuid4.hdf5
    • content-type: application/x-hdf5

The python method observer.post_artifacts in satnogs-client uses this endpoint.

At the moment only the format for raw waterfall data is defined in artifacts. For audio or raw frames the format definition is not done yet.

I hope this post answered some of your questions. If you have more, please let us know!