{"openapi":"3.1.1","info":{"title":"SAASH Agent Connector","version":"1.4.1","description":"Open GROW discovery, deterministic Arabic/English resolution, provider-aligned accountless non-effect invocation and independently verified accountless experience contribution. Covers Legal, Workforce and Business services including Najiz, Qiwa, HRSD, Ministry of Commerce, Saudi Business Center, ZATCA, Balady and SAIP. Binding execution remains authorization-gated.","x-saash-service-families":[{"engine_id":"saash-legal-engine","service_id":"legal","name_ar":"الخدمات القانونية السعودية","name_en":"Saudi legal services","readiness":"BOUNDED_PROFESSIONAL_SUPPORT","platforms":[{"id":"najiz","name_ar":"ناجز","name_en":"Najiz","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"taradhi","name_ar":"تراضي","name_en":"Taradhi","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"moeen","name_ar":"معين","name_en":"Moeen","readiness":"DISCOVERY_AND_PREPARATION_ONLY"}]},{"engine_id":"saash-workforce-engine","service_id":"workforce","name_ar":"خدمات القوى العاملة السعودية","name_en":"Saudi workforce services","readiness":"BOUNDED_PROFESSIONAL_SUPPORT","platforms":[{"id":"qiwa","name_ar":"قوى","name_en":"Qiwa","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"gosi","name_ar":"التأمينات الاجتماعية","name_en":"GOSI","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"mudad","name_ar":"مدد","name_en":"Mudad","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"ajeer","name_ar":"أجير","name_en":"Ajeer","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"musaned","name_ar":"مساند","name_en":"Musaned","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"hrsd","name_ar":"وزارة الموارد البشرية والتنمية الاجتماعية","name_en":"HRSD","readiness":"DISCOVERY_AND_PREPARATION_ONLY"}]},{"engine_id":"saash-business-engine","service_id":"business","name_ar":"خدمات الأعمال والمنشآت السعودية","name_en":"Saudi business and enterprise services","readiness":"BOUNDED_PROFESSIONAL_SUPPORT","platforms":[{"id":"mc","name_ar":"وزارة التجارة","name_en":"Ministry of Commerce","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"sbc","name_ar":"المركز السعودي للأعمال","name_en":"Saudi Business Center","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"misa","name_ar":"وزارة الاستثمار","name_en":"Ministry of Investment","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"zatca","name_ar":"هيئة الزكاة والضريبة والجمارك","name_en":"ZATCA","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"balady","name_ar":"بلدي","name_en":"Balady","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"saip","name_ar":"الهيئة السعودية للملكية الفكرية","name_en":"SAIP","readiness":"DISCOVERY_AND_PREPARATION_ONLY"},{"id":"monshaat","name_ar":"منشآت","name_en":"Monsha'at","readiness":"DISCOVERY_AND_PREPARATION_ONLY"}]}],"x-saash-capacity-policy":{"budget_basis":"VERCEL_HOBBY_MONTHLY_FUNCTION_INVOCATIONS","provider_monthly_function_invocation_allowance":1000000,"operating_reserve_percent":20,"grow_monthly_accepted_invocation_budget":800000,"per_client_network_daily_limit":null,"client_burst_per_minute":60,"global_burst_per_minute":600,"grow_record_retention_hours":48,"cost_commitment_sar":0}},"externalDocs":{"description":"Live bilingual connector manifest and complete capability catalogue","url":"https://saash-gateway.vercel.app/.well-known/saash-agent-connector.json"},"servers":[{"url":"https://saash-gateway.vercel.app"}],"paths":{"/api/v1/discovery":{"get":{"operationId":"discoverSaash","responses":{"200":{"description":"SAASH discovery contract"}}}},"/api/v1/connector/resolve":{"post":{"operationId":"resolveSaashIntent","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["intent"],"properties":{"intent":{"type":"string"},"locale":{"enum":["ar","en","auto"]},"limit":{"type":"integer","minimum":1,"maximum":10},"allow_external_effect":{"type":"boolean"},"allow_binding_action":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Ranked deterministic matches"}}}},"/api/v1/connector/invoke":{"post":{"operationId":"invokeSaashGrowCapability","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["engine_id","capability_id","payload","request_id","grow_acknowledgement"],"properties":{"engine_id":{"type":"string"},"capability_id":{"type":"string"},"payload":{"type":"object","additionalProperties":true},"request_id":{"type":"string","minLength":8,"maxLength":160},"grow_acknowledgement":{"type":"object","additionalProperties":false,"required":["no_secrets","no_personal_data","no_external_or_binding_effect"],"properties":{"no_secrets":{"const":true},"no_personal_data":{"const":true},"no_external_or_binding_effect":{"const":true}}}}}}}},"responses":{"200":{"description":"Free accountless non-effect GROW result"},"403":{"description":"Capability is not eligible for accountless GROW invocation"},"429":{"description":"Provider-aligned capacity or minute-level protection reached"}}}},"/api/v1/grow/experiences":{"post":{"operationId":"shareSaashGrowExperience","security":[],"description":"For a new capability, skill.capability_id must use the target engine namespace derived from saash-<domain>-engine as <domain>.learned.*. An improvement to an existing capability requires a receipt from invoking that same capability.","x-saash-public-learning-rules":{"new_capability_prefix_rule":{"engine_id_pattern":"^saash-([a-z0-9]+(?:-[a-z0-9]+)*)-engine$","replacement":"$1.learned."},"new_capability_prefix_examples":{"saash-workforce-engine":"workforce.learned.","saash-legal-engine":"legal.learned.","saash-business-engine":"business.learned.","saash-accounting-engine":"accounting.learned."},"existing_capability_improvement_requires_same_invoked_capability":true,"skill_engine_must_match_invocation_engine":true,"invocation_must_match_receipt":true},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicExperienceSubmission"}}}},"responses":{"201":{"description":"Experience accepted and independently verified or held truthfully"},"400":{"description":"Invalid, unsafe or mismatched experience"},"409":{"description":"Single-use receipt already consumed"}}}},"/api/v1/grow/experiences/{experience_id}/status":{"post":{"operationId":"getSaashGrowExperienceStatus","security":[],"parameters":[{"name":"experience_id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["revocation_token"]}}}},"responses":{"200":{"description":"Contributor-authorized status without source payload"},"403":{"description":"Management authorization failed"}}}},"/api/v1/grow/experiences/{experience_id}/revoke":{"post":{"operationId":"revokeSaashGrowExperience","security":[],"parameters":[{"name":"experience_id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["revocation_token"]}}}},"responses":{"200":{"description":"Contribution revoked and released version disabled or rolled back"},"403":{"description":"Management authorization failed"}}}},"/api/v1/invoke":{"post":{"operationId":"invokeSaashCapability","security":[{"gatewayApiKey":[]}],"responses":{"200":{"description":"Routed professional result"},"401":{"description":"Authorization required"}}}}},"components":{"schemas":{"AgentExperienceV2":{"type":"object","properties":{"protocol_version":{"type":"string","const":"saash.agent-experience.v2"},"invocation":{"type":"object","properties":{"request_id":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"},"engine_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[a-z][a-z0-9._-]+$"},"capability_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[a-z][a-z0-9._-]+$"}},"required":["request_id","engine_id","capability_id"],"additionalProperties":false},"consent":{"type":"object","properties":{"user_informed":{"type":"boolean","const":true},"share_authorized":{"type":"boolean","const":true},"scope":{"type":"string","const":"GENERALIZED_REUSABLE_EXPERIENCE"},"revocable":{"type":"boolean","const":true}},"required":["user_informed","share_authorized","scope","revocable"],"additionalProperties":false},"skill":{"type":"object","properties":{"skill_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[a-z][a-z0-9._-]+$"},"capability_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[a-z][a-z0-9._-]+$"},"engine_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[a-z][a-z0-9._-]+$"},"kind":{"type":"string","enum":["EXECUTION","PLATFORM_INTERACTION","RESEARCH","PROFESSIONAL_KNOWLEDGE","DOCUMENT","ORGANIZATION","WORKFLOW","SCHEDULING","ANALYSIS","INTEGRATION","RELIABILITY"]},"name_ar":{"type":"string","minLength":3,"maxLength":240},"name_en":{"type":"string","minLength":3,"maxLength":240},"description_ar":{"type":"string","minLength":3,"maxLength":240},"description_en":{"type":"string","minLength":3,"maxLength":240}},"required":["skill_id","capability_id","engine_id","kind","name_ar","name_en","description_ar","description_en"],"additionalProperties":false},"experience":{"type":"object","properties":{"experience_group_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[a-z][a-z0-9._-]+$"},"evidence_mode":{"type":"string","enum":["SYNTHETIC","SANITIZED_REAL"]},"outcome":{"type":"string","enum":["SIMULATED_SUCCESS","VERIFIED_SUCCESS"]},"external_effect":{"type":"boolean","const":false},"binding_action":{"type":"boolean","const":false},"reusable_steps":{"minItems":2,"maxItems":30,"type":"array","items":{"type":"object","properties":{"step_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[a-z][a-z0-9._-]+$"},"kind":{"type":"string","enum":["DISCOVER","NAVIGATE","INPUT","DECIDE","TRANSFORM","VERIFY","HANDOFF"]}},"required":["step_id","kind"],"additionalProperties":false}},"required_inputs":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_]{2,63}$"}}},"required":["experience_group_id","evidence_mode","outcome","external_effect","binding_action","reusable_steps","required_inputs"],"additionalProperties":false},"privacy":{"type":"object","properties":{"sanitized":{"type":"boolean","const":true},"user_data_included":{"type":"boolean","const":false},"credentials_included":{"type":"boolean","const":false},"personal_content_included":{"type":"boolean","const":false},"raw_capture_included":{"type":"boolean","const":false}},"required":["sanitized","user_data_included","credentials_included","personal_content_included","raw_capture_included"],"additionalProperties":false},"source_agent":{"type":"object","properties":{"instance_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[a-z][a-z0-9._-]+$"},"provider_family":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[a-z][a-z0-9._-]+$"}},"required":["instance_ref","provider_family"],"additionalProperties":false}},"required":["protocol_version","invocation","consent","skill","experience","privacy","source_agent"],"additionalProperties":false,"title":"SAASH Agent Experience v2","description":"Strict sanitized reusable experience contract. Cross-field rules also require skill.engine_id to equal invocation.engine_id and unique step and input identifiers."},"PublicExperienceSubmission":{"type":"object","description":"Accountless public learning envelope. The invocation and skill engine must match the receipt. New skill capability IDs use the target engine namespace derived from saash-<domain>-engine as <domain>.learned.*; existing capability improvements require a receipt from invoking that same capability.","additionalProperties":false,"required":["receipt","experience"],"properties":{"receipt":{"type":"string","minLength":80,"maxLength":1400,"description":"Single-use signed receipt returned by a successful accountless GROW invocation."},"experience":{"$ref":"#/components/schemas/AgentExperienceV2"}}}},"securitySchemes":{"gatewayApiKey":{"type":"http","scheme":"bearer","bearerFormat":"SAASH Gateway API key"}}}}