Deze referentie beschrijft de beschikbare APIs binnen het PMA ecosysteem.
| Service | Poort | Base URL | Auth Type |
|---|---|---|---|
| Redmine | 9114 | http://localhost:9114 |
API Key |
| Mattermost | 8065 | http://localhost:8065/api/v4 |
Bearer Token |
| Wiki.js | 9119 | http://localhost:9119/graphql |
Bearer Token |
| n8n | 5678 | http://localhost:5678/api/v1 |
API Key |
| Authentik | 9101 | http://localhost:9101/api/v3 |
Bearer Token |
| Zammad | 9105 | http://localhost:9105/api/v1 |
Bearer Token |
| ERPNext | 8080 | http://localhost:8080/api |
API Key/Secret |
# Via header
curl -H "X-Redmine-API-Key: YOUR_API_KEY" \
http://localhost:9114/issues.json
# Via query parameter
curl "http://localhost:9114/issues.json?key=YOUR_API_KEY"
just info redmine
# Toont API key in output
# Lijst issues
curl -s "http://localhost:9114/issues.json" \
-H "X-Redmine-API-Key: $REDMINE_API_KEY" | jq .
# Specifiek issue
curl -s "http://localhost:9114/issues/123.json" \
-H "X-Redmine-API-Key: $REDMINE_API_KEY" | jq .
# Issue aanmaken
curl -s -X POST "http://localhost:9114/issues.json" \
-H "X-Redmine-API-Key: $REDMINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"issue": {"project_id": 1, "subject": "Nieuwe taak"}}'
# Issue updaten
curl -s -X PUT "http://localhost:9114/issues/123.json" \
-H "X-Redmine-API-Key: $REDMINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"issue": {"status_id": 5, "notes": "Status update"}}'
# Lijst projecten
curl -s "http://localhost:9114/projects.json" \
-H "X-Redmine-API-Key: $REDMINE_API_KEY" | jq .
# Project details
curl -s "http://localhost:9114/projects/pma.json" \
-H "X-Redmine-API-Key: $REDMINE_API_KEY" | jq .
curl -H "X-N8N-API-KEY: YOUR_API_KEY" \
http://localhost:5678/api/v1/workflows
# Lijst workflows
curl -s "http://localhost:5678/api/v1/workflows" \
-H "X-N8N-API-KEY: $N8N_API_KEY" | jq .
# Specifieke workflow
curl -s "http://localhost:5678/api/v1/workflows/1" \
-H "X-N8N-API-KEY: $N8N_API_KEY" | jq .
# Workflow activeren
curl -s -X PATCH "http://localhost:5678/api/v1/workflows/1" \
-H "X-N8N-API-KEY: $N8N_API_KEY" \
-H "Content-Type: application/json" \
-d '{"active": true}'
# Lijst executions
curl -s "http://localhost:5678/api/v1/executions" \
-H "X-N8N-API-KEY: $N8N_API_KEY" | jq .
# Execution details
curl -s "http://localhost:5678/api/v1/executions/123" \
-H "X-N8N-API-KEY: $N8N_API_KEY" | jq .
curl -H "Authorization: Bearer YOUR_TOKEN" \
http://localhost:8065/api/v4/users/me
# Bericht versturen
curl -s -X POST "http://localhost:8065/api/v4/posts" \
-H "Authorization: Bearer $MATTERMOST_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel_id": "CHANNEL_ID", "message": "Hello from API!"}'
# Posts in channel
curl -s "http://localhost:8065/api/v4/channels/CHANNEL_ID/posts" \
-H "Authorization: Bearer $MATTERMOST_TOKEN" | jq .
# Incoming webhook
curl -s -X POST "http://localhost:8065/hooks/WEBHOOK_ID" \
-H "Content-Type: application/json" \
-d '{"text": "Webhook bericht", "username": "bot"}'
# Lijst channels
curl -s "http://localhost:8065/api/v4/teams/TEAM_ID/channels" \
-H "Authorization: Bearer $MATTERMOST_TOKEN" | jq .
curl -X POST http://localhost:9119/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{"query": "{ pages { list { id title } } }"}'
# Lijst paginas
curl -s -X POST "http://localhost:9119/graphql" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WIKIJS_TOKEN" \
-d '{"query": "{ pages { list { id path title updatedAt } } }"}' | jq .
curl -H "Authorization: Bearer YOUR_TOKEN" \
http://localhost:9101/api/v3/core/users/
# Lijst users
curl -s "http://localhost:9101/api/v3/core/users/" \
-H "Authorization: Bearer $AUTHENTIK_TOKEN" | jq .
# Lijst applications
curl -s "http://localhost:9101/api/v3/core/applications/" \
-H "Authorization: Bearer $AUTHENTIK_TOKEN" | jq .
# GOED - altijd bereikbaar
curl http://localhost:9114/issues.json
# VERMIJD - afhankelijk van tunnel
curl https://redmine.example.com/issues.json
response=$(curl -s -w "\n%{http_code}" "http://localhost:9114/issues.json" \
-H "X-Redmine-API-Key: $KEY")
http_code=$(echo "$response" | tail -n1)
if [ "$http_code" != "200" ]; then
echo "Error: $http_code"
exit 1
fi
Respecteer rate limits:
# Gebruik environment variables
export REDMINE_API_KEY="..."
curl -H "X-Redmine-API-Key: $REDMINE_API_KEY" ...