Python PUT Samples

Score with Scoresheet

import http.client
import mimetypes
from codecs import encode

conn = http.client.HTTPSConnection("api2.archery-records.net")
dataList = []
boundary = 'wL36Yn8afVp8Ag7AmP8qZ0SA4n1v9T'
dataList.append(encode('--' + boundary))
dataList.append(encode('Content-Disposition: form-data; name=file; filename={0}'.format('/<PATH>')))

fileType = mimetypes.guess_type('/<PATH>')[0] or 'application/octet-stream'
dataList.append(encode('Content-Type: {}'.format(fileType))) dataList.append(encode('')) with open('/<PATH>', 'rb') as f:
dataList.append(f.read()) dataList.append(encode('--' + boundary)) dataList.append(encode('Content-Disposition: form-data; name=data;')) dataList.append(encode('Content-Type: {}'.format('text/plain'))) dataList.append(encode('')) dataList.append(encode("{ \"member_id\": \"<GUID>\", \"age_group_id\": \"<GUID>\",
\"class_id\": \"<GUID>\",
\"date_shot\": \"2025-04-30T00:00:00\", \"golds\": 0, \"hits\": 60, \"location\": \"Anywhere Club\", \"notes\": \"\", \"qualifying\": true, \"record_qualifying\": false, \"record_status\": false, \"round_id\": \"<GUID>\",
\"score\": 259, \"status\": 1, \"tens\": 45, \"type_id\": \"<GUID>\",
\"user_1\": \"\", \"user_2\": \"\", \"distances\": [ { \"distance\": \"18 m\", \"face\": \"40 cm\", \"score\": 259, \"hits\": 60, \"golds\": 0, \"tens\": 45, \"xs\": 0, \"sightmark\": \"4.5\" } ] }")) dataList.append(encode('--'+boundary+'--')) dataList.append(encode('')) body = b'\r\n'.join(dataList) payload = body headers = { 'Authorization': 'Basic <APIKEY>', 'Content-Type': 'multipart/form-data; boundary=---XXXX---', 'Content-type': 'multipart/form-data; boundary={}'.format(boundary) } conn.request("POST", "/api/scores?record_id=c5cb56f6-d0df-4f68-aa88-e39864102334", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))

Score Only


import http.client

conn = http.client.HTTPSConnection("api2.archery-records.net")
payload = "{\r\n  \"member_id\": \"<GUID>\",
\"age_group_id\": \"<GUID>\",
\"class_id\": \"<GUID>\",
\"date_shot\": \"2025-04-30T00:00:00\", \"golds\": 0,\r\n \"hits\": 60, \"location\": \"Anywhere Club\", \"notes\": \"\", \"qualifying\": true, \"record_qualifying\": false, \"record_status\": false, \"round_id\": \"<GUID>\",
\"score\": 259, \"status\": 1, \"tens\": 45, \"type_id\": \"<GUID>\",
\"user_1\": \"\", \"user_2\": \"\", \"distances\": [ {\"distance\": \"18 m\", \"face\": \"40 cm\", \"score\": 259, \"hits\": 60, \"golds\": 0, \"tens\": 45, \"xs\": 0, \"sightmark\": \"4.5\" } ] }" headers = { 'Authorization': 'Basic <APIKEY>', 'Content-Type': 'application/json' } conn.request("POST", "/api/scores?record_id=<GUID>", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))