Auto-generate rules based on child's age

POST/policies/{policyID}/generate-from-age

Generates a starter set of rules appropriate for the child's age and appends them to the policy. Existing rules are preserved.

Auth:Bearer

Path parameters

policyID

uuidrequired

Response

id

Unique identifier for this resource.

uuid
policy_id

Identifier of the policy this resource belongs to.

uuid
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
enabled

Whether this item is currently active.

boolean
config

Category-specific configuration object for this rule.

object
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/policies/b011c1e5-0000-4000-8000-000000000b01/generate-from-age" \
  -H "Authorization: Bearer $PHOSRA_API_KEY"
Response
json
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "policy_id": "550e8400-e29b-41d4-a716-446655440000",
    "category": "rating_age_gate",
    "enabled": true,
    "config": {},
    "created_at": "2025-01-15T09:30:00Z"
  }
]