Push single rule

POST/sources/{sourceID}/rules

Start a sandbox source-sync simulation for one rule; this does not claim a generally available production adapter write.

Auth:Bearer

Path parameters

sourceID

uuidrequired

Request body

category

One of the 123 OCSS rule categories defined by the current schema. Sandbox simulation is available now; production adapter support is not generally available and is evaluated only in separately scoped design-partner pilots.

rating_age_gate | age_gate | adult_site_av_required | app_store_age_attestation | os_age_signal_ingest | age_signal_broadcast | hard_id_verification_escalation | social_media_min_age | ai_chatbot_age_assertion | teen_minimum_age_16_gate | content_rating | violence_threshold | sexual_content_threshold | profanity_threshold | commercial_pressure_threshold | substance_content_threshold | recognized_seal_allowlist | social_chat_control | web_filter_level | privacy_rating_tier_gate | privacy_rating_score_threshold | privacy_rating_dimension_gate | privacy_seal_required | unrated_privacy_default | ai_chatbot_tier_gate | ai_product_classification_gate | ai_safety_rating_threshold | ai_data_responsibility_rating_threshold | ai_transparency_rating_threshold | ai_minor_interaction | streaming_age_rating_enforce | ugc_world_age_gate | time_daily_limit | time_scheduled_hours | time_per_app_limit | time_downtime | phone_free_school_hours | purchase_approval | purchase_spending_cap | social_contacts | social_multiplayer | stranger_outreach_friction | privacy_account_creation | parental_consent_gate | notification_curfew | dumbphone_migration_mode | content_block_title | content_allow_title | content_allowlist_mode | content_descriptor_block | firearm_content_block | not_for_minors_block | purchase_block_iap | stranger_dm_block | web_safesearch | web_category_block | web_custom_allowlist | web_custom_blocklist | dm_restriction | ai_no_simulated_companionship | ai_no_unsupervised_therapy | ai_no_self_harm_promotion | ai_no_csam_generation | ai_no_personhood_deception | ai_companion_block | library_filter_compliance | gambling_mechanics_block | addictive_pattern_block | app_install_block | voice_chat_minor_limit | educational_credit | monitoring_activity | monitoring_alerts | social_account_content_monitoring | message_content_monitoring | image_content_monitoring | search_query_monitoring | flagged_content_digest | usage_timer_notification | parental_event_notification | screen_time_report | social_media_warning_label_render | digital_literacy_curriculum_link | school_alert_routing | privacy_location | privacy_profile_visibility | privacy_data_sharing | data_minimization_enforce | third_party_tracker_block | geolocation_precision_cap | targeted_ad_block | data_deletion_request | geolocation_opt_in | ai_training_data_opt_out | image_rights_minor | student_privacy_school_mode | commercial_data_ban | prosocial_weight | role_model_weight | representation_weight | dpia_request_generator | algo_feed_control | addictive_design_control | infinite_scroll_block | autoplay_disable | ai_no_engagement_dark_patterns | ai_synthetic_media_disclosure | algorithmic_audit | cipa_filter_attestation | minor_data_sale_audit_log | parental_attestation_cert | ai_toy_safety_cert | csam_reporting | esafety_commission_reporting | platform_liability_evidence_capture | age_appropriate_profile_mode | ncii_takedown | ephemeral_message_disable | dm_feature_disable | named_contact_block | crisis_resource_surface | presence_status_hide | harm_report_intakerequired
value

Rule value/config

object

Response

id

Unique identifier for this resource.

uuid
job_id

Unique identifier (UUID) for the related resource.

uuid
source_id

Unique identifier (UUID) for the related resource.

uuid
rule_category

One of the 123 OCSS rule categories defined by the current schema. Sandbox simulation is available now; production adapter support is not generally available and is evaluated only in separately scoped design-partner pilots.

rating_age_gate | age_gate | adult_site_av_required | app_store_age_attestation | os_age_signal_ingest | age_signal_broadcast | hard_id_verification_escalation | social_media_min_age | ai_chatbot_age_assertion | teen_minimum_age_16_gate | content_rating | violence_threshold | sexual_content_threshold | profanity_threshold | commercial_pressure_threshold | substance_content_threshold | recognized_seal_allowlist | social_chat_control | web_filter_level | privacy_rating_tier_gate | privacy_rating_score_threshold | privacy_rating_dimension_gate | privacy_seal_required | unrated_privacy_default | ai_chatbot_tier_gate | ai_product_classification_gate | ai_safety_rating_threshold | ai_data_responsibility_rating_threshold | ai_transparency_rating_threshold | ai_minor_interaction | streaming_age_rating_enforce | ugc_world_age_gate | time_daily_limit | time_scheduled_hours | time_per_app_limit | time_downtime | phone_free_school_hours | purchase_approval | purchase_spending_cap | social_contacts | social_multiplayer | stranger_outreach_friction | privacy_account_creation | parental_consent_gate | notification_curfew | dumbphone_migration_mode | content_block_title | content_allow_title | content_allowlist_mode | content_descriptor_block | firearm_content_block | not_for_minors_block | purchase_block_iap | stranger_dm_block | web_safesearch | web_category_block | web_custom_allowlist | web_custom_blocklist | dm_restriction | ai_no_simulated_companionship | ai_no_unsupervised_therapy | ai_no_self_harm_promotion | ai_no_csam_generation | ai_no_personhood_deception | ai_companion_block | library_filter_compliance | gambling_mechanics_block | addictive_pattern_block | app_install_block | voice_chat_minor_limit | educational_credit | monitoring_activity | monitoring_alerts | social_account_content_monitoring | message_content_monitoring | image_content_monitoring | search_query_monitoring | flagged_content_digest | usage_timer_notification | parental_event_notification | screen_time_report | social_media_warning_label_render | digital_literacy_curriculum_link | school_alert_routing | privacy_location | privacy_profile_visibility | privacy_data_sharing | data_minimization_enforce | third_party_tracker_block | geolocation_precision_cap | targeted_ad_block | data_deletion_request | geolocation_opt_in | ai_training_data_opt_out | image_rights_minor | student_privacy_school_mode | commercial_data_ban | prosocial_weight | role_model_weight | representation_weight | dpia_request_generator | algo_feed_control | addictive_design_control | infinite_scroll_block | autoplay_disable | ai_no_engagement_dark_patterns | ai_synthetic_media_disclosure | algorithmic_audit | cipa_filter_attestation | minor_data_sale_audit_log | parental_attestation_cert | ai_toy_safety_cert | csam_reporting | esafety_commission_reporting | platform_liability_evidence_capture | age_appropriate_profile_mode | ncii_takedown | ephemeral_message_disable | dm_feature_disable | named_contact_block | crisis_resource_surface | presence_status_hide | harm_report_intake
status

Current lifecycle state of the resource.

pushed | skipped | failed | unsupported
source_value

The value represented in the sandbox result or handed to a provisioned design-partner adapter for this rule category.

object
source_response

Raw response the source returned when the rule was applied.

object
error_message

Human-readable error detail when the operation failed; null on success.

stringnull
created_at

RFC 3339 timestamp of when the resource was created.

datetime
Request
bash
curl -sS -X POST "https://phosra-api-sandbox-production.up.railway.app/api/v1/sources/5a5a5a5a-1111-4222-8333-444455556666/rules" \
  -H "Authorization: Bearer $PHOSRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "category": "time_daily_limit",
  "value": {
    "minutes": 120
  }
}'
Response
json
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "job_id": "550e8400-e29b-41d4-a716-446655440000",
  "source_id": "550e8400-e29b-41d4-a716-446655440000",
  "rule_category": "rating_age_gate",
  "status": "pushed",
  "source_value": {},
  "source_response": {},
  "error_message": null,
  "created_at": "2025-01-15T09:30:00Z"
}