Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Armasourcing Community Bridge API
version: 0.1.0
tags:
- name: Bridge
paths:
/api/bridge/award-xp:
post:
summary: Bridge Award Xp
description: 'Service-to-service XP grant, for Arma World (world.armasourcing.com).
Arma World runs in its own venv on this box, so it cannot import database.py
to call award_xp directly. It posts here instead, which means the grant goes
through the SAME award_xp everything else uses: the is_ops gate still applies,
the level recompute still runs, and the 1:1 Hoots mirror still happens. A
second implementation writing to community.db is how two systems drift.
Body: {"secret": "...", "user_id": int, "xp": int, "action": "...", "details": "..."}
Callers are responsible for their own idempotency — this endpoint pays
every time it is called. Arma World keys each milestone in its own xp_paid table so
a replayed save cannot pay twice.'
operationId: bridge_award_xp_api_bridge_award_xp_post
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
tags:
- Bridge