Forithmus Agentic Access
Forithmus exposes 213 API operations that an AI agent could call, of which 129 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 84 read, 115 write, 11 physical, and 3 safety-critical.
3 operations are classed safety-critical and should require human-in-the-loop approval at runtime.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| POST | /admin/credits/revoke/{transaction_id} | safety-critical | required |
| DELETE | /auth/2fa | safety-critical | required |
| POST | /auth/reset-password | safety-critical | required |
| POST | /admin/credits/pools/{pool_id}/refund | physical | conditional |
| POST | /admin/credits/transfer | physical | conditional |
| POST | /auth/resend-verification | physical | conditional |
| PUT | /challenges/{slug}/pages/reorder | physical | conditional |
| POST | /messages/{conversation_id} | physical | conditional |
| POST | /payments/activate-challenge | physical | conditional |
| POST | /payments/checkout | physical | conditional |
| POST | /payments/fund-pool | physical | conditional |
| POST | /payments/topup | physical | conditional |
| POST | /payments/webhook | physical | conditional |
| POST | /users/me/edu-email/send | physical | conditional |
Source
Agentic Access
generated: '2026-07-19'
method: generated
source: openapi/forithmus-openapi-original.json
description: Recommended x-agentic-access execution contracts, classified heuristically from
the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
audience per deployment. See research/curity/agentic-governance/.
summary:
operations: 213
by_action_class:
acting: 129
connected: 84
by_consequence:
write: 115
read: 84
physical: 11
safety-critical: 3
human_in_the_loop_required: 3
operations:
- path: /auth/signup
method: post
operationId: signup_auth_signup_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/login
method: post
operationId: login_auth_login_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/google/state
method: get
operationId: google_auth_state_auth_google_state_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/google
method: post
operationId: google_auth_auth_google_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/refresh
method: post
operationId: refresh_auth_refresh_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/logout
method: post
operationId: logout_auth_logout_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/cli-session
method: post
operationId: create_cli_session_auth_cli_session_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/cli-session/{session_id}/complete
method: post
operationId: complete_cli_session_auth_cli_session__session_id__complete_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/cli-session/{session_id}
method: get
operationId: poll_cli_session_auth_cli_session__session_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/verify-email
method: post
operationId: verify_email_auth_verify_email_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/resend-verification
method: post
operationId: resend_verification_auth_resend_verification_post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/forgot-password
method: post
operationId: forgot_password_auth_forgot_password_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/reset-password
method: post
operationId: reset_password_auth_reset_password_post
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /auth/2fa/setup
method: post
operationId: setup_2fa_auth_2fa_setup_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/2fa/confirm
method: post
operationId: confirm_2fa_auth_2fa_confirm_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/2fa
method: delete
operationId: disable_2fa_auth_2fa_delete
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /auth/2fa/recovery-codes/regenerate
method: post
operationId: regenerate_recovery_codes_auth_2fa_recovery_codes_regenerate_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/2fa/verify
method: post
operationId: verify_2fa_auth_2fa_verify_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections
method: get
operationId: list_collections_collections_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collections
method: post
operationId: create_collection_collections_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/mine
method: get
operationId: list_my_collections_collections_mine_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collections/{slug}
method: get
operationId: get_collection_collections__slug__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collections/{slug}
method: put
operationId: update_collection_collections__slug__put
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}
method: delete
operationId: delete_collection_collections__slug__delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}/stats
method: get
operationId: get_collection_stats_collections__slug__stats_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collections/{slug}/challenges
method: get
operationId: list_collection_challenges_collections__slug__challenges_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collections/{slug}/challenges/{challenge_slug}
method: post
operationId: add_challenge_to_collection_collections__slug__challenges__challenge_slug__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}/members/join
method: post
operationId: join_collection_collections__slug__members_join_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}/members/leave
method: post
operationId: leave_collection_collections__slug__members_leave_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}/members
method: get
operationId: list_collection_members_collections__slug__members_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collections/{slug}/members/invite
method: post
operationId: invite_collection_member_collections__slug__members_invite_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}/members/accept-invite
method: post
operationId: accept_collection_invite_collections__slug__members_accept_invite_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}/members/decline-invite
method: post
operationId: decline_collection_invite_collections__slug__members_decline_invite_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}/members/{member_user_id}
method: patch
operationId: update_collection_member_collections__slug__members__member_user_id__patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}/members/{member_user_id}
method: delete
operationId: remove_collection_member_collections__slug__members__member_user_id__delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}/pages
method: get
operationId: list_collection_pages_collections__slug__pages_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collections/{slug}/pages
method: post
operationId: create_collection_page_collections__slug__pages_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}/pages/{page_slug}
method: patch
operationId: update_collection_page_collections__slug__pages__page_slug__patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /collections/{slug}/pages/{page_slug}
method: delete
operationId: delete_collection_page_collections__slug__pages__page_slug__delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/meta/categories
method: get
operationId: list_categories_challenges_meta_categories_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges
method: get
operationId: list_challenges_challenges_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges
method: post
operationId: create_challenge_challenges_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/registry-usage
method: get
operationId: get_registry_usage_endpoint_challenges__slug__registry_usage_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/registry-purge
method: post
operationId: purge_registry_challenges__slug__registry_purge_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/stats
method: get
operationId: get_challenge_stats_challenges__slug__stats_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/by-id/{challenge_id}
method: get
operationId: get_challenge_by_id_challenges_by_id__challenge_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}
method: get
operationId: get_challenge_challenges__slug__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}
method: put
operationId: update_challenge_challenges__slug__put
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}
method: delete
operationId: delete_challenge_challenges__slug__delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/members
method: get
operationId: list_members_challenges__slug__members_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/members/me
method: get
operationId: get_my_membership_challenges__slug__members_me_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/members/invite
method: post
operationId: invite_member_challenges__slug__members_invite_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/members/accept-invite
method: post
operationId: accept_invite_challenges__slug__members_accept_invite_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/members/decline-invite
method: post
operationId: decline_invite_challenges__slug__members_decline_invite_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/members/join
method: post
operationId: join_challenge_challenges__slug__members_join_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/members/{member_user_id}
method: patch
operationId: update_member_challenges__slug__members__member_user_id__patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/members/{member_user_id}
method: delete
operationId: remove_member_challenges__slug__members__member_user_id__delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/submissions/upload-file
method: post
operationId: upload_file_submission_challenges__slug__submissions_upload_file_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/submissions/docker-upload-url
method: post
operationId: docker_upload_url_challenges__slug__submissions_docker_upload_url_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/submissions/docker-upload-complete
method: post
operationId: docker_upload_complete_challenges__slug__submissions_docker_upload_complete_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/submissions/docker-upload-abort
method: post
operationId: docker_upload_abort_challenges__slug__submissions_docker_upload_abort_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/submissions/weights-upload-url
method: post
operationId: weights_upload_url_challenges__slug__submissions_weights_upload_url_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/submissions/weights-upload-complete
method: post
operationId: weights_upload_complete_challenges__slug__submissions_weights_upload_complete_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/submissions/pre-upload-docker
method: post
operationId: pre_upload_docker_challenges__slug__submissions_pre_upload_docker_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/submissions/upload-status/{upload_id}
method: get
operationId: get_upload_status_challenges__slug__submissions_upload_status__upload_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/submissions/upload-docker
method: post
operationId: upload_docker_submission_challenges__slug__submissions_upload_docker_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/submissions/{submission_id}/continue
method: post
operationId: continue_timed_out_submission_challenges__slug__submissions__submission_id__continue_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/submissions/{submission_id}/cancel
method: post
operationId: cancel_submission_challenges__slug__submissions__submission_id__cancel_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/submissions/{submission_id}/docker-image
method: get
operationId: download_docker_image_challenges__slug__submissions__submission_id__docker_image_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/submissions/estimate
method: get
operationId: estimate_cost_challenges__slug__submissions_estimate_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/submissions
method: get
operationId: list_submissions_challenges__slug__submissions_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/submissions/{submission_id}
method: get
operationId: get_submission_challenges__slug__submissions__submission_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/submissions/{submission_id}/logs
method: get
operationId: get_submission_logs_challenges__slug__submissions__submission_id__logs_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/submissions/{submission_id}/outputs
method: get
operationId: get_submission_outputs_challenges__slug__submissions__submission_id__outputs_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/submissions/{submission_id}/outputs/download
method: get
operationId: download_output_file_challenges__slug__submissions__submission_id__outputs_download_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/groups
method: post
operationId: create_group_challenges__slug__groups_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/groups
method: get
operationId: list_groups_challenges__slug__groups_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/groups/me
method: get
operationId: get_my_group_challenges__slug__groups_me_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/groups/{group_id}
method: get
operationId: get_group_detail_challenges__slug__groups__group_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/groups/{group_id}
method: delete
operationId: dissolve_group_challenges__slug__groups__group_id__delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/groups/{group_id}
method: patch
operationId: update_group_challenges__slug__groups__group_id__patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/groups/{group_id}/invite
method: post
operationId: invite_member_challenges__slug__groups__group_id__invite_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/groups/{group_id}/accept
method: post
operationId: accept_invitation_challenges__slug__groups__group_id__accept_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/groups/{group_id}/leave
method: post
operationId: leave_group_challenges__slug__groups__group_id__leave_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/groups/{group_id}/members/{user_id}
method: delete
operationId: remove_member_challenges__slug__groups__group_id__members__user_id__delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/groups/{group_id}/request
method: post
operationId: request_join_challenges__slug__groups__group_id__request_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/groups/{group_id}/approve/{user_id}
method: post
operationId: approve_request_challenges__slug__groups__group_id__approve__user_id__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/groups/{group_id}/reject/{user_id}
method: post
operationId: reject_request_challenges__slug__groups__group_id__reject__user_id__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/leaderboard
method: get
operationId: get_leaderboard_challenges__slug__leaderboard_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/leaderboard/groups
method: get
operationId: get_group_leaderboard_challenges__slug__leaderboard_groups_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/pages
method: get
operationId: list_pages_challenges__slug__pages_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /challenges/{slug}/pages
method: post
operationId: create_page_challenges__slug__pages_post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /challenges/{slug}/pag
# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/forithmus/refs/heads/main/agentic-access/forithmus-agentic-access.yml