Reference for all REST endpoints and WordPress hooks provided by the SIA custom plugins.
See WP-CLI.md for the command-line interface reference.
All endpoints live under /wp-json/. Routes that bypass Restricted Site Access are
allowed through automatically by each plugin’s filter__restricted_site_access_is_restricted
filter.
/wp-json/play/)Plugin: sia-ariel
Class: SIA_Ariel_REST
Auth: Bearer token — Authorization: Bearer <token> where the token is
password_verify-checked against the AIRTABLE_TEAM_CRM_REST_TOKEN env variable.
Body: JSON, passed as the raw request body (POST/PATCH) or as a base64-encoded
body query parameter (GET). Must include an environment key matching WP_ENV.
| Method | Route | Description |
|---|---|---|
GET |
/wp-json/play/profile |
Read a profile. Payload: { post_id, environment }. Returns name, active. |
POST |
/wp-json/play/profile |
Create a new profile. Payload must not include post_id. Returns post_id, post_status, active. |
PATCH |
/wp-json/play/profile |
Update an existing profile. Payload: { post_id, environment, … }. Returns post_id, post_status, active. |
GET |
/wp-json/play/organization |
Read an organization. Payload: { post_id, environment }. Returns name. |
POST |
/wp-json/play/organization |
Create an organization. Returns post_id, post_status, name. |
PATCH |
/wp-json/play/organization |
Update an organization. Returns post_id, post_status, name. |
GET |
/wp-json/play/team |
Read a team. Payload: { post_id, environment }. Returns name. |
POST |
/wp-json/play/team |
Create a team. Returns post_id, post_status, name. |
PATCH |
/wp-json/play/team |
Update a team. Returns post_id, post_status. |
GET |
/wp-json/play/team_member |
Read a team member. Payload: { user_id, environment }. Returns name. |
POST |
/wp-json/play/team_member |
Create a WP user and link it to a profile. Payload must include profile_post_id. Returns user_id, username, user_email, user_password, invite_sent. |
PATCH |
/wp-json/play/team_member |
Update a team member’s account. Payload: { user_id, environment, … }. Returns user_id, user_email. |
/wp-json/team/)Plugin: sia-ariel
Class: SIA_Ariel_REST
Auth: Legacy token query parameter (?token=…). Deprecated since 9.2.0 in favour
of the Bearer auth used by the play/ group.
Body: JSON base64-encoded in the text query parameter.
| Method | Route | Description |
|---|---|---|
GET |
/wp-json/team/country_aap_data |
Retrieve stored A&AP data for a country. Payload: { iso }. Returns the AAP object. |
GET,POST |
/wp-json/team/store_country_aap_data |
Store or update A&AP data for a country. Payload: { iso, slug, state }. Returns blog_id, country. |
/wp-json/app/)Plugin: sia-ariel
Class: SIA_Ariel_Slack_Event_Listener
Auth: Slack signing-secret header verification.
| Method | Route | Description |
|---|---|---|
POST |
/wp-json/app/netcrm |
Receives event callbacks from the Net/CRM Slack app. Handles url_verification (challenge handshake) and event_callback (user events: team_join, user_change). |
/wp-json/slack/)Plugin: sia-play
Class: SIA_Play_REST
Auth: token query parameter matched against a hardcoded constant.
Input: Slack slash-command POST body (token, text). In development mode GET is
also accepted.
| Method | Route | Description |
|---|---|---|
POST |
/wp-json/slack/directory |
Search profiles by keyword. Returns up to 5 Slack-formatted results with name, role, and team. |
POST |
/wp-json/slack/team |
Show team details and active members for a country slug or all. Supports a format param (slack or JSON). |
POST |
/wp-json/slack/glossary |
Search glossary terms by keyword. Returns up to 5 results. |
POST |
/wp-json/slack/playbook |
Search playbook entries by keyword. Returns up to 5 results. |
/wp-json/notifications/)Plugin: sia-play
Class: SIA_Play_REST
Auth: Same token as Slack routes above.
| Method | Route | Description |
|---|---|---|
POST |
/wp-json/notifications/get_notification |
Return a single formatted notification by ID (hyphens converted to underscores). text param = notification ID. |
/wp-json/community-voting/)Plugin: sia-play
Class: SIA_Play_REST
Auth: Same token as Slack routes above.
| Method | Route | Description |
|---|---|---|
POST |
/wp-json/community-voting/stats |
Return competition voting statistics. Delegates to SIAProjectVoting::stats(). |
| Hook | Parameters | Plugin | Description |
|---|---|---|---|
sia_slack_search_{$post_type} |
WP_REST_Request $request, array $results |
sia-play |
Fired after every Slack search request completes, whether it found results or not. $post_type is the machine name of the searched type (e.g. profile, playbook, glossary_term). $results contains total_results, error, and output. |