{"openapi":"3.1.0","info":{"title":"Atlas Integrations and Atlas API","version":"1.8.0","description":"Workspace-bound programmatic access to published Atlas data, discoverable coverage and taxonomies, durable regulation history, exact-source freshness evidence, explicit asynchronous stale-source refresh jobs, read-only workspace context, regulatory MCP, and customer-configured signed webhooks. API Access Core includes 125,000 monthly read units with a default 60 requests/minute and 15-request burst; API Access Scale includes 250,000 monthly read units with 120 requests/minute and a 30-request burst. Metadata costs 0, detail operations cost 1, standard list/search/event/history operations cost 5, and digest/report or refresh-create operations cost 25. Units are fixed operation weights, not rows returned. Current regulation and monitor reads support standard evidence or fail-closed require_fresh mode without invoking AI on the request path. A refresh is a separate tenant-bound idempotent create-and-poll workflow with daily/source caps and exact receipts. Production calls require an organization-bound key, route scope, API Access entitlement, and active allowance. API/MCP never authorize native Slack delivery; Slack requires an independent exact-tenant installation, destination, route policy, and execution receipt. Auth: `Authorization: Bearer pk_...`. Every call is tenant scoped and audited without logging message content or secrets.","contact":{"name":"Pimlico Solutions","email":"partners@pimlicosolutions.com"}},"servers":[{"url":"https://xldyvilhtvxmfgtyjusb.supabase.co/functions/v1/partner-api","description":"Production"}],"security":[{"PartnerKey":[]}],"components":{"securitySchemes":{"PartnerKey":{"type":"http","scheme":"bearer","bearerFormat":"pk_...","description":"Partner/workspace connector key. Keys start with `pk_`, are shown once at issue time, hashed at rest, and can be scoped to partner-api, regulatory mcp, explicit model-backed agents, connectors, and sandbox."}},"headers":{"AtlasRequestId":{"schema":{"type":"string"},"description":"Stable read-meter receipt. Reuse the supplied Idempotency-Key or X-Request-Id only for the same route, query/cursor, and input."},"AtlasReadUnits":{"schema":{"type":"integer","minimum":0},"description":"Read units reserved for this request."},"AtlasReadUnitsUsed":{"schema":{"type":"integer","minimum":0},"description":"Workspace usage after the reservation."},"AtlasReadUnitsLimit":{"schema":{"type":"integer","minimum":0},"description":"Included workspace allowance for the current cycle."},"AtlasReadUnitsRemaining":{"schema":{"type":"integer","minimum":0},"description":"Included units remaining after this request; excludes agreed overage."},"AtlasEntitlementVersion":{"schema":{"type":"string"},"description":"Version of the production API Access entitlement decision."},"AtlasEntitlementReason":{"schema":{"type":"string"},"description":"Auditable reason code for the entitlement decision."},"AtlasIdempotentReplay":{"schema":{"type":"boolean"},"description":"True when this read reused an existing reservation with the same canonical operation fingerprint. This does not claim mutation deduplication."},"RetryAfter":{"schema":{"type":"integer","minimum":0},"description":"Seconds before retrying a rate-limited request."},"RateLimitLimit":{"schema":{"type":"integer","minimum":1},"description":"Effective organization request allowance per minute after any explicit admin override."},"RateLimitRemaining":{"schema":{"type":"integer","minimum":0},"description":"Whole request tokens immediately available in this tenant/environment bucket."},"RateLimitReset":{"schema":{"type":"integer","minimum":0},"description":"Seconds until another request token is available when the bucket is empty."},"AtlasRateLimitPolicy":{"schema":{"type":"string"},"description":"Version of the atomic request-rate decision contract."}},"schemas":{"Client":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"partner_org_id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"full_name":{"type":["string","null"]},"job_title":{"type":["string","null"]},"company_name":{"type":["string","null"]},"jurisdictions":{"type":"array","items":{"type":"string"},"description":"ISO-ish codes, e.g. [\"GB\", \"SG\", \"UK-GC\"]"},"verticals":{"type":"array","items":{"type":"string"},"description":"e.g. [\"gambling\", \"fintech\"]"},"topic_tags":{"type":"array","items":{"type":"string"}},"active":{"type":"boolean"},"archived_at":{"type":["string","null"],"format":"date-time"},"notes":{"type":["string","null"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"consent_given_at":{"type":["string","null"],"format":"date-time"},"consent_method":{"type":["string","null"],"example":"api"},"consent_evidence":{"type":["string","null"]},"unsubscribe_token":{"type":"string","description":"Opaque token used in the List-Unsubscribe header for digests sent to this client."}}},"CreateClientRequest":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"},"full_name":{"type":"string","maxLength":200},"job_title":{"type":"string","maxLength":200},"company_name":{"type":"string","maxLength":200},"jurisdictions":{"type":"array","items":{"type":"string"},"maxItems":200},"verticals":{"type":"array","items":{"type":"string"},"maxItems":200},"topic_tags":{"type":"array","items":{"type":"string"},"maxItems":200},"consent_evidence":{"type":"string","maxLength":500,"description":"Short audit trail of how consent was captured (e.g. \"signed MSA 2026-03-01\" or \"onboarding form v2 / IP 203.0.113.4\"). Defaults to `api.<key-prefix>` if omitted."}}},"UpdateClientRequest":{"type":"object","properties":{"full_name":{"type":"string","maxLength":200},"job_title":{"type":"string","maxLength":200},"company_name":{"type":"string","maxLength":200},"jurisdictions":{"type":"array","items":{"type":"string"}},"verticals":{"type":"array","items":{"type":"string"}},"topic_tags":{"type":"array","items":{"type":"string"}},"active":{"type":"boolean"},"notes":{"type":"string","maxLength":2000}},"description":"All fields optional. Any provided field replaces the current value."},"CoverageRequest":{"type":"object","properties":{"jurisdictions":{"type":"array","items":{"type":"string"}},"verticals":{"type":"array","items":{"type":"string"}},"topic_tags":{"type":"array","items":{"type":"string"}}},"description":"Provide at least one array. An array that IS provided replaces the client's current coverage in that dimension; an array that is OMITTED leaves that dimension untouched. Send `[]` to explicitly clear a dimension."},"BriefingPreviewResponse":{"type":"object","properties":{"client":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string"},"full_name":{"type":["string","null"]},"company_name":{"type":["string","null"]},"coverage":{"type":"object","properties":{"jurisdictions":{"type":"array","items":{"type":"string"}},"verticals":{"type":"array","items":{"type":"string"}},"topic_tags":{"type":"array","items":{"type":"string"}}}}}},"preview":{"type":"object","properties":{"subject":{"type":"string"},"item_count":{"type":"integer"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["news_article"]},"title":{"type":"string"},"jurisdiction":{"type":["string","null"]},"vertical":{"type":["string","null"]},"summary":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"published_at":{"type":["string","null"],"format":"date-time"}}}},"note":{"type":"string"}}},"lookback_days":{"type":"integer","example":14}}},"RegulationDataDimensions":{"type":"object","required":["contract_version","jurisdiction_codes","jurisdiction_names","subdivisions","verticals","categories","topics","document_types","lifecycle_stages","materiality","authority_ids","authority_names"],"properties":{"contract_version":{"type":"string","enum":["2026-08-28.regulatory-data-dimensions.v1"]},"jurisdiction_codes":{"type":"array","items":{"type":"string"}},"jurisdiction_names":{"type":"array","items":{"type":"string"}},"subdivisions":{"type":"array","items":{"type":"string"}},"verticals":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"topics":{"type":"array","items":{"type":"string"}},"document_types":{"type":"array","items":{"type":"string"}},"lifecycle_stages":{"type":"array","items":{"type":"string"}},"materiality":{"type":"array","items":{"type":"string"}},"authority_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"authority_names":{"type":"array","items":{"type":"string"}}},"description":"Canonical Atlas Data dimensions attached to each result. These describe the published item; they do not infer customer applicability or authorize delivery."},"RegulatoryFreshnessEvidence":{"type":"object","required":["source_registry_id","source_check_receipt_id","receipt_kind","fetch_outcome","content_fingerprint","source_scan_liveness_at","source_is_active"],"properties":{"source_registry_id":{"type":["integer","null"]},"source_check_receipt_id":{"type":["string","null"],"format":"uuid"},"receipt_kind":{"type":["string","null"],"enum":["ordinary_queue_scan",null]},"fetch_outcome":{"type":["string","null"]},"content_fingerprint":{"type":["string","null"]},"source_scan_liveness_at":{"type":["string","null"],"format":"date-time"},"source_is_active":{"type":["boolean","null"]}}},"RegulatoryFreshness":{"type":"object","required":["contract_version","read_mode","status","reason","evaluated_at","max_age_seconds","age_seconds","source_checked_at","fresh_until","verification_level","evidence","atlas","delivery_authorized"],"properties":{"contract_version":{"type":"string","enum":["2026-08-28.regulatory-freshness.v1"]},"read_mode":{"type":"string","enum":["standard","require_fresh"]},"status":{"type":"string","enum":["fresh","stale","unknown"]},"reason":{"type":"string","enum":["source_check_within_max_age","source_check_expired","source_check_failed","source_inactive","source_check_receipt_missing","source_check_clock_invalid","freshness_evidence_unavailable"]},"evaluated_at":{"type":"string","format":"date-time"},"max_age_seconds":{"type":"integer","minimum":60,"maximum":2592000},"age_seconds":{"type":["integer","null"],"minimum":0},"source_checked_at":{"type":["string","null"],"format":"date-time"},"fresh_until":{"type":["string","null"],"format":"date-time"},"verification_level":{"type":"string","enum":["source_fetch_receipt","source_attempt_receipt","atlas_publication_record"]},"evidence":{"$ref":"#/components/schemas/RegulatoryFreshnessEvidence"},"atlas":{"type":"object","required":["record_updated_at","customer_published_at"],"properties":{"record_updated_at":{"type":["string","null"],"format":"date-time"},"customer_published_at":{"type":["string","null"],"format":"date-time"}}},"delivery_authorized":{"type":"boolean","enum":[false]}},"description":"Exact source-check evidence kept separate from Atlas publication timestamps. A freshness result never authorizes delivery."},"RegulatoryFreshnessSummary":{"type":"object","required":["contract_version","read_mode","status","evaluated_at","max_age_seconds","counts","require_fresh_satisfied","refresh_if_stale","delivery_authorized"],"properties":{"contract_version":{"type":"string","enum":["2026-08-28.regulatory-freshness.v1"]},"read_mode":{"type":"string","enum":["standard","require_fresh"]},"status":{"type":"string","enum":["fresh","stale","unknown","not_applicable"]},"evaluated_at":{"type":"string","format":"date-time"},"max_age_seconds":{"type":"integer","minimum":60,"maximum":2592000},"counts":{"type":"object","required":["total","fresh","stale","unknown"],"properties":{"total":{"type":"integer","minimum":0},"fresh":{"type":"integer","minimum":0},"stale":{"type":"integer","minimum":0},"unknown":{"type":"integer","minimum":0}}},"require_fresh_satisfied":{"type":"boolean"},"refresh_if_stale":{"type":"object","required":["supported","mode","create_path"],"properties":{"supported":{"type":"boolean","enum":[true]},"mode":{"type":"string","enum":["asynchronous_job"]},"create_path":{"type":"string","enum":["/freshness/refresh-jobs"]}}},"delivery_authorized":{"type":"boolean","enum":[false]}}},"RegulatoryRefreshRequest":{"type":"object","required":["regulation_ids"],"additionalProperties":false,"properties":{"regulation_ids":{"type":"array","minItems":1,"maxItems":10,"uniqueItems":true,"items":{"type":"string","format":"uuid"}},"freshness_max_age_seconds":{"type":"integer","minimum":60,"maximum":2592000,"default":93600},"only_stale":{"type":"boolean","enum":[true],"default":true}}},"RegulatoryRefreshSourceResult":{"type":"object","required":["source_registry_id","jurisdiction","status","pipeline_trace_id","source_check_receipt_id","source_checked_at","fetch_outcome"],"properties":{"source_registry_id":{"type":"integer","minimum":1},"jurisdiction":{"type":"string"},"status":{"type":"string","enum":["queued","dispatched","fresh","failed"]},"pipeline_trace_id":{"type":["string","null"]},"source_check_receipt_id":{"type":["string","null"],"format":"uuid"},"source_checked_at":{"type":["string","null"],"format":"date-time"},"fetch_outcome":{"type":["string","null"]}}},"RegulatoryRefreshRetry":{"type":"object","required":["dispatch_attempts","maximum_dispatch_attempts","next_attempt_at","lease_expires_at"],"properties":{"dispatch_attempts":{"type":"integer","minimum":0,"maximum":5},"maximum_dispatch_attempts":{"type":"integer","enum":[5]},"next_attempt_at":{"type":["string","null"],"format":"date-time"},"lease_expires_at":{"type":["string","null"],"format":"date-time"}}},"RegulatoryRefreshJob":{"type":"object","required":["contract_version","job_id","status","idempotent_replay","requested_at","dispatched_at","completed_at","expires_at","requested_regulation_count","requested_source_count","completed_source_count","successful_source_count","failed_source_count","max_age_seconds","poll_url","source_results","retry","failure","safety"],"properties":{"contract_version":{"type":"string","enum":["2026-08-28.regulatory-refresh.v1"]},"job_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["queued","dispatching","dispatched","completed","partial","failed"]},"idempotent_replay":{"type":"boolean"},"requested_at":{"type":"string","format":"date-time"},"dispatched_at":{"type":["string","null"],"format":"date-time"},"completed_at":{"type":["string","null"],"format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"requested_regulation_count":{"type":"integer","minimum":1,"maximum":10},"requested_source_count":{"type":"integer","minimum":1,"maximum":10},"completed_source_count":{"type":"integer","minimum":0,"maximum":10},"successful_source_count":{"type":"integer","minimum":0,"maximum":10},"failed_source_count":{"type":"integer","minimum":0,"maximum":10},"max_age_seconds":{"type":"integer","minimum":60,"maximum":2592000},"poll_url":{"type":"string"},"source_results":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryRefreshSourceResult"}},"retry":{"$ref":"#/components/schemas/RegulatoryRefreshRetry"},"failure":{"type":["object","null"],"properties":{"code":{"type":"string"},"detail":{"type":"string"}}},"safety":{"type":"object","required":["asynchronous","exact_tenant_bound","delivery_authorized","ai_on_read"],"properties":{"asynchronous":{"type":"boolean","enum":[true]},"exact_tenant_bound":{"type":"boolean","enum":[true]},"delivery_authorized":{"type":"boolean","enum":[false]},"ai_on_read":{"type":"boolean","enum":[false]}}}}},"RegulatoryRefreshJobResponse":{"type":"object","required":["refresh_job"],"properties":{"refresh_job":{"$ref":"#/components/schemas/RegulatoryRefreshJob"}}},"RegulationSummary":{"type":"object","required":["id","title","verticals","created_at","updated_at","data_dimensions"],"properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"overview":{"type":["string","null"]},"source_url":{"type":["string","null"],"format":"uri"},"source_domain":{"type":["string","null"]},"jurisdiction":{"type":["string","null"]},"jurisdiction_code":{"type":["string","null"]},"subdivision":{"type":["string","null"]},"verticals":{"type":"array","items":{"type":"string"}},"action_type":{"type":["string","null"]},"lifecycle_stage":{"type":["string","null"]},"significance":{"type":["string","null"]},"regulatory_event_type":{"type":["string","null"]},"event_severity":{"type":["integer","null"]},"authority_id":{"type":["string","null"],"format":"uuid"},"authority_name":{"type":["string","null"]},"publication_date":{"type":["string","null"]},"effective_date":{"type":["string","null"]},"customer_published_at":{"type":["string","null"],"format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"data_dimensions":{"$ref":"#/components/schemas/RegulationDataDimensions"}}},"RegulationCurrentSummary":{"allOf":[{"$ref":"#/components/schemas/RegulationSummary"},{"type":"object","required":["freshness"],"properties":{"freshness":{"$ref":"#/components/schemas/RegulatoryFreshness"}}}]},"RegulationDetailFields":{"type":"object","properties":{"detail":{"type":["string","null"]},"tags":{"type":"object","additionalProperties":true},"jurisdiction_level":{"type":["string","null"]},"mentioned_operators":{"type":"array","items":{"type":"string"}},"linked_law_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"linked_enforcement_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"linked_licence_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"linked_standard_ids":{"type":"array","items":{"type":"string","format":"uuid"}}}},"RegulationHistoricalDetail":{"allOf":[{"$ref":"#/components/schemas/RegulationSummary"},{"$ref":"#/components/schemas/RegulationDetailFields"}]},"RegulationDetail":{"allOf":[{"$ref":"#/components/schemas/RegulationCurrentSummary"},{"$ref":"#/components/schemas/RegulationDetailFields"}]},"RegulationsResponse":{"type":"object","required":["contract_version","count","filters","pagination","regulations","freshness","source"],"properties":{"contract_version":{"type":"string","enum":["2026-08-28.regulations-query.v1"]},"count":{"type":"integer","minimum":0},"filters":{"type":"object","additionalProperties":true,"description":"Normalized query filters that Atlas applied."},"pagination":{"type":"object","required":["has_more","next_cursor"],"properties":{"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}}},"regulations":{"type":"array","items":{"$ref":"#/components/schemas/RegulationCurrentSummary"}},"freshness":{"$ref":"#/components/schemas/RegulatoryFreshnessSummary"},"source":{"type":"object","properties":{"table":{"type":"string","enum":["regulations"]},"published_only":{"type":"boolean","enum":[true]},"order":{"type":"string","enum":["created_at desc"]}}}}},"RegulationResponse":{"type":"object","required":["regulation","freshness","source"],"properties":{"regulation":{"$ref":"#/components/schemas/RegulationDetail"},"freshness":{"$ref":"#/components/schemas/RegulatoryFreshnessSummary"},"source":{"type":"object","properties":{"table":{"type":"string","enum":["regulations"]},"published_only":{"type":"boolean","enum":[true]}}}}},"RegulatoryCatalogValue":{"type":"object","required":["value","count"],"properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0}}},"RegulatoryCatalogAuthority":{"type":"object","required":["id","count"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":["string","null"]},"count":{"type":"integer","minimum":0}}},"RegulatoryCatalogValues":{"type":"object","required":["jurisdiction_codes","jurisdiction_names","subdivisions","verticals","authorities","action_types","lifecycle_stages","materiality","regulatory_event_types","source_domains"],"properties":{"jurisdiction_codes":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryCatalogValue"}},"jurisdiction_names":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryCatalogValue"}},"subdivisions":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryCatalogValue"}},"verticals":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryCatalogValue"}},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryCatalogAuthority"}},"action_types":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryCatalogValue"}},"lifecycle_stages":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryCatalogValue"}},"materiality":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryCatalogValue"}},"regulatory_event_types":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryCatalogValue"}},"source_domains":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryCatalogValue"}}}},"RegulatoryTaxonomy":{"type":"object","required":["contract_version","resource","dimensions","ranges","composition","identity_guidance","safety"],"properties":{"contract_version":{"type":"string","enum":["2026-08-28.regulatory-taxonomy.v1"]},"resource":{"type":"string","enum":["regulations"]},"dimensions":{"type":"array","items":{"type":"object","required":["key","request_parameter","response_path","identity","match"],"properties":{"key":{"type":"string"},"request_parameter":{"type":"string"},"response_path":{"type":"string"},"identity":{"type":"string"},"match":{"type":"string"}}}},"ranges":{"type":"array","items":{"type":"object","required":["key","request_parameters","format"],"properties":{"key":{"type":"string"},"request_parameters":{"type":"array","items":{"type":"string"}},"format":{"type":"string"}}}},"composition":{"type":"string"},"identity_guidance":{"type":"string"},"safety":{"type":"object","required":["published_only","customer_safe_aggregates_only","delivery_authorized","note"],"properties":{"published_only":{"type":"boolean","enum":[true]},"customer_safe_aggregates_only":{"type":"boolean","enum":[true]},"delivery_authorized":{"type":"boolean","enum":[false]},"note":{"type":"string"}}}}},"RegulatoryCatalog":{"type":"object","required":["contract_version","generated_at","coverage","values","taxonomy","source"],"properties":{"contract_version":{"type":"string","enum":["2026-08-28.regulatory-catalog.v1"]},"generated_at":{"type":"string","format":"date-time"},"coverage":{"type":"object","required":["published_records","jurisdiction_count","authority_count","source_domain_count"],"properties":{"published_records":{"type":"integer","minimum":0},"earliest_publication_date":{"type":["string","null"]},"latest_publication_date":{"type":["string","null"]},"latest_customer_published_at":{"type":["string","null"],"format":"date-time"},"latest_atlas_update_at":{"type":["string","null"],"format":"date-time"},"records_with_effective_date":{"type":"integer","minimum":0},"jurisdiction_count":{"type":"integer","minimum":0},"authority_count":{"type":"integer","minimum":0},"source_domain_count":{"type":"integer","minimum":0}}},"values":{"$ref":"#/components/schemas/RegulatoryCatalogValues"},"taxonomy":{"$ref":"#/components/schemas/RegulatoryTaxonomy"},"source":{"type":"object","additionalProperties":true}}},"RegulatoryTaxonomyCatalog":{"type":"object","required":["contract_version","generated_at","taxonomy","values","source"],"properties":{"contract_version":{"type":"string","enum":["2026-08-28.regulatory-taxonomy.v1"]},"generated_at":{"type":"string","format":"date-time"},"taxonomy":{"$ref":"#/components/schemas/RegulatoryTaxonomy"},"values":{"$ref":"#/components/schemas/RegulatoryCatalogValues"},"source":{"type":"object","additionalProperties":true}}},"ApiServiceStatus":{"type":"object","required":["status","checked_at","service","api_version","contracts","checks"],"properties":{"status":{"type":"string","enum":["operational"]},"checked_at":{"type":"string","format":"date-time"},"service":{"type":"string","enum":["partner-api"]},"api_version":{"type":"string"},"contracts":{"type":"object","additionalProperties":{"type":"string"}},"checks":{"type":"object","additionalProperties":{"type":"string"}}}},"ApiChangelog":{"type":"object","required":["contract_version","releases","deprecation_policy"],"properties":{"contract_version":{"type":"string","enum":["2026-08-28.api-changelog.v1"]},"releases":{"type":"array","items":{"type":"object","required":["version","released_at","status","changes"],"properties":{"version":{"type":"string"},"released_at":{"type":"string","format":"date"},"status":{"type":"string","enum":["current","supported","deprecated","retired"]},"changes":{"type":"array","items":{"type":"string"}}}}},"deprecation_policy":{"type":"object","required":["minimum_notice_days","additive_changes_may_ship_without_version_change","breaking_changes_require_a_new_versioned_contract"],"properties":{"minimum_notice_days":{"type":"integer","minimum":0},"additive_changes_may_ship_without_version_change":{"type":"boolean"},"breaking_changes_require_a_new_versioned_contract":{"type":"boolean"}}}}},"RegulationPublicVersion":{"type":"object","required":["regulation_id","version_number","event_kind","changed_fields","public_snapshot","captured_at"],"properties":{"regulation_id":{"type":"string","format":"uuid"},"version_number":{"type":"integer","minimum":1},"event_kind":{"type":"string","enum":["baseline","published","updated","withdrawn","republished"]},"changed_fields":{"type":"array","items":{"type":"string"}},"public_snapshot":{"$ref":"#/components/schemas/RegulationHistoricalDetail"},"source_updated_at":{"type":["string","null"],"format":"date-time"},"captured_at":{"type":"string","format":"date-time"}}},"RegulationPublicChange":{"type":"object","required":["regulation_id","version_number","event_kind","changed_fields","changes","captured_at"],"properties":{"regulation_id":{"type":"string","format":"uuid"},"version_number":{"type":"integer","minimum":1},"previous_version_number":{"type":["integer","null"],"minimum":1},"event_kind":{"type":"string"},"changed_fields":{"type":"array","items":{"type":"string"}},"changes":{"type":"object","additionalProperties":{"type":"object","properties":{"before":{},"after":{}}}},"source_updated_at":{"type":["string","null"],"format":"date-time"},"captured_at":{"type":"string","format":"date-time"}}},"MonitorDigestUpdate":{"type":"object","required":["id","title","captured_at","freshness"],"properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"jurisdiction":{"type":["string","null"]},"vertical":{"type":["string","null"]},"source_domain":{"type":["string","null"]},"source_url":{"type":["string","null"]},"publication_date":{"type":["string","null"],"format":"date-time"},"effective_date":{"type":["string","null"],"format":"date-time"},"captured_at":{"type":"string","format":"date-time"},"overview":{"type":["string","null"]},"freshness":{"$ref":"#/components/schemas/RegulatoryFreshness"}}},"MonitorDigestResponse":{"type":"object","required":["hours_window","count","filters","output_format","updates","freshness","source"],"properties":{"hours_window":{"type":"integer","example":24},"count":{"type":"integer"},"filters":{"type":"object","properties":{"jurisdiction":{"type":["string","null"]},"vertical":{"type":["string","null"]}}},"output_format":{"type":"string","enum":["summary","table","csv","json"]},"updates":{"type":"array","items":{"$ref":"#/components/schemas/MonitorDigestUpdate"}},"rendered":{"type":["string","null"],"description":"Present for summary, table, and csv output_format. Null for json."},"freshness":{"$ref":"#/components/schemas/RegulatoryFreshnessSummary"},"source":{"type":"object","properties":{"table":{"type":"string","example":"regulations"},"captured_at_field":{"type":"string","example":"created_at"},"published_only":{"type":"boolean","example":true}}}}},"MonitorEventExternalLink":{"type":"object","required":["id","product","source_type","external_object_type","external_object_key","external_url","created_at"],"properties":{"id":{"type":"string","format":"uuid"},"product":{"type":"string","enum":["jira","confluence"]},"source_type":{"type":"string","enum":["monitor_event","regulation"]},"external_object_type":{"type":"string","enum":["issue","page","comment"]},"external_object_key":{"type":["string","null"]},"external_url":{"type":["string","null"],"format":"uri"},"created_at":{"type":["string","null"],"format":"date-time"}}},"MonitorEvent":{"type":"object","required":["contract_version","id","item_identity","event_type","title","jurisdiction","vertical","data_dimensions","tags","source_domain","source_url","publication_date","effective_date","customer_published_at","captured_at","routing","external_links","freshness"],"properties":{"contract_version":{"type":"string","enum":["2026-08-23.monitor-event.v1"]},"id":{"type":"string","format":"uuid"},"item_identity":{"type":"object","required":["source_type","source_id"],"properties":{"source_type":{"type":"string","enum":["regulation"]},"source_id":{"type":"string","format":"uuid"}}},"event_type":{"type":"string","enum":["regulation.published"]},"title":{"type":"string"},"jurisdiction":{"type":["string","null"]},"vertical":{"type":["string","null"]},"data_dimensions":{"type":"object","description":"Canonical Atlas Data dimensions. Institution and B2B/B2C applicability are not inferred here.","required":["jurisdiction","jurisdiction_code","subdivision","verticals","action_type","lifecycle_stage","significance","regulatory_event_type","event_severity","authority_name","context_dimensions"],"properties":{"jurisdiction":{"type":["string","null"]},"jurisdiction_code":{"type":["string","null"]},"subdivision":{"type":["string","null"]},"verticals":{"type":"array","items":{"type":"string"}},"action_type":{"type":["string","null"]},"lifecycle_stage":{"type":["string","null"]},"significance":{"type":["string","null"]},"regulatory_event_type":{"type":["string","null"]},"event_severity":{"type":["string","null"]},"authority_name":{"type":["string","null"]},"context_dimensions":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Published descriptive context dimensions preserved without inferring institution, market relationship, actor role, eligibility, or applicability."}}},"tags":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Canonicalized tag arrays extracted from the published regulatory update."},"source_domain":{"type":["string","null"]},"source_url":{"type":["string","null"],"format":"uri"},"publication_date":{"type":["string","null"],"format":"date-time"},"effective_date":{"type":["string","null"],"format":"date-time"},"customer_published_at":{"type":["string","null"],"format":"date-time"},"captured_at":{"type":["string","null"],"format":"date-time"},"overview":{"type":["string","null"],"description":"Present when include_overview=true."},"routing":{"type":"object","required":["watchlists","slack_teams","jira_confluence","partner_connectors","delivery_authorized","delivery_authority"],"properties":{"watchlists":{"type":"string","example":"matched_by_workspace_rules"},"slack_teams":{"type":"string","example":"independent_tenant_bound_route_policy_required"},"jira_confluence":{"type":"string","example":"POST /atlassian-actions/signals/handoff"},"partner_connectors":{"type":"string","example":"registered_outbound_connector_policy_required"},"delivery_authorized":{"type":"boolean","enum":[false]},"delivery_authority":{"type":"string","enum":["independent_connector_route_policy"]}}},"external_links":{"type":"object","required":["counts","latest"],"properties":{"counts":{"type":"object","required":["jira_issues","confluence_pages"],"properties":{"jira_issues":{"type":"integer"},"confluence_pages":{"type":"integer"}}},"latest":{"type":"array","items":{"$ref":"#/components/schemas/MonitorEventExternalLink"}}}},"freshness":{"$ref":"#/components/schemas/RegulatoryFreshness"}}},"MonitorEventsResponse":{"type":"object","required":["contract_version","events","total_returned","pagination","filters","freshness","routing_model","action_endpoints","source"],"properties":{"contract_version":{"type":"string","enum":["2026-08-23.monitor-event.v1"]},"events":{"type":"array","items":{"$ref":"#/components/schemas/MonitorEvent"}},"total_returned":{"type":"integer"},"pagination":{"type":"object","required":["cursor_version","next_cursor","has_more","scanned_source_rows"],"properties":{"cursor_version":{"type":"string","enum":["2026-08-23.monitor-event-cursor.v1"]},"next_cursor":{"type":["string","null"],"description":"Opaque cursor bound to the original time window and filters."},"has_more":{"type":"boolean"},"scanned_source_rows":{"type":"integer","minimum":0}}},"filters":{"type":"object","required":["hours","captured_after","captured_before","jurisdiction","vertical","include_overview","limit"],"properties":{"hours":{"type":"integer"},"captured_after":{"type":"string","format":"date-time"},"captured_before":{"type":"string","format":"date-time"},"jurisdiction":{"type":["string","null"]},"vertical":{"type":["string","null"]},"include_overview":{"type":"boolean"},"limit":{"type":"integer"}}},"freshness":{"$ref":"#/components/schemas/RegulatoryFreshnessSummary"},"routing_model":{"type":"string","example":"Monitor events are read-only published items. They never authorize delivery: every Slack, Teams, email, or connector send requires an independent exact-tenant route-policy decision and execution receipt."},"action_endpoints":{"type":"object","required":["route_to_jira_confluence","inspect_jira_confluence_links"],"properties":{"route_to_jira_confluence":{"type":"string","example":"POST /atlassian-actions/signals/handoff"},"inspect_jira_confluence_links":{"type":"string","example":"GET /atlassian-actions/links?source_type=monitor_event&source_id={event_id}"}}},"source":{"type":"object","required":["table","source_type","read_only","published_only","delivery_authorized"],"properties":{"table":{"type":"string","example":"regulations"},"source_type":{"type":"string","example":"monitor_event"},"read_only":{"type":"boolean","example":true},"published_only":{"type":"boolean","example":true},"delivery_authorized":{"type":"boolean","enum":[false]}}}}},"WatchlistFilterCounts":{"type":"object","additionalProperties":{"type":"integer"},"description":"Count of configured values per canonical filter key."},"WatchlistRouting":{"type":"object","properties":{"in_app":{"type":"boolean","description":"True when Atlas in-app/email-style watchlist notifications are enabled."},"slack":{"type":"boolean","description":"True when this watchlist is attached to a Slack integration."},"teams":{"type":"boolean","description":"True when this watchlist is attached to an Microsoft Teams integration."},"jira":{"type":"object","description":"Per-watchlist Jira request and exact destination proof. The connector must also remain active and automation-ready.","properties":{"requested":{"type":"boolean"},"route_confirmed":{"type":"boolean"},"connection_id":{"type":["string","null"],"format":"uuid"},"project_key":{"type":["string","null"]},"legacy_connector_policy":{"type":"boolean","description":"True only for rows created before per-watchlist delivery intent existed."}}},"confluence":{"type":"string","enum":["configured_at_connector_level"]},"jira_confluence":{"type":"string","enum":["jira_per_watchlist_confluence_connector_level"],"deprecated":true,"description":"Compatibility summary: Jira is selected per watchlist; Confluence remains connector-level."}}},"Watchlist":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":["string","null"]},"enabled":{"type":"boolean"},"notifications_enabled":{"type":"boolean"},"filters":{"type":"object","properties":{"jurisdiction":{"type":"array","items":{"type":"string"}},"subdivision":{"type":"array","items":{"type":"string"}},"vertical":{"type":"array","items":{"type":"string"}},"category":{"type":"array","items":{"type":"string"}},"topic":{"type":"array","items":{"type":"string"}},"type":{"type":"array","items":{"type":"string"}},"stage":{"type":"array","items":{"type":"string"}},"status":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}}},"filter_counts":{"$ref":"#/components/schemas/WatchlistFilterCounts"},"routing":{"$ref":"#/components/schemas/WatchlistRouting"},"created_at":{"type":["string","null"],"format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"WatchlistsResponse":{"type":"object","properties":{"watchlists":{"type":"array","items":{"$ref":"#/components/schemas/Watchlist"}},"total_returned":{"type":"integer"},"filters":{"type":"object","properties":{"enabled":{"type":["string","null"]},"limit":{"type":"integer"}}},"routing_model":{"type":"string","example":"Watchlists define matching rules. Slack and Microsoft Teams route per attachment; Jira requires a per-watchlist destination plus connector readiness; Confluence remains connector-level."},"source":{"type":"object","properties":{"table":{"type":"string","example":"watchlists"},"read_only":{"type":"boolean","example":true},"organization_scoped":{"type":"boolean","example":true}}}}},"ProjectTask":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"description":{"type":["string","null"]},"status":{"type":"string","enum":["pending","in-progress","completed","blocked"]},"priority":{"type":"string","enum":["low","medium","high","critical"]},"assigned_to":{"type":["string","null"],"format":"uuid"},"due_date":{"type":["string","null"],"format":"date"},"start_date":{"type":["string","null"],"format":"date"},"source_regulation_id":{"type":["string","null"]},"source_lens_analysis_id":{"type":["string","null"]},"tags":{"type":"array","items":{"type":"string"}},"created_at":{"type":["string","null"],"format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"ProjectTaskList":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":["string","null"]},"task_count":{"type":"integer"},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/ProjectTask"},"description":"Present when include_tasks=true."},"created_at":{"type":["string","null"],"format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"ProjectExternalLink":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"product":{"type":"string","enum":["jira","confluence"]},"external_object_type":{"type":"string","enum":["issue","page","comment"]},"external_object_key":{"type":["string","null"]},"external_url":{"type":["string","null"],"format":"uri"},"created_at":{"type":["string","null"],"format":"date-time"}}},"ProjectSummary":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":["string","null"]},"status":{"type":"string","enum":["active","on-hold","completed","archived"]},"visibility":{"type":"string","enum":["private","team","org"]},"due_date":{"type":["string","null"],"format":"date"},"jurisdiction":{"type":"object","properties":{"id":{"type":["string","null"]},"label":{"type":["string","null"]}}},"vertical":{"type":["string","null"]},"activity":{"type":["string","null"]},"counts":{"type":"object","properties":{"task_lists":{"type":"integer"},"tasks":{"type":"object","properties":{"total":{"type":"integer"},"open":{"type":["integer","null"]},"blocked":{"type":["integer","null"]},"completed":{"type":["integer","null"]}}},"external_links":{"type":"object","properties":{"jira_issues":{"type":"integer"},"confluence_pages":{"type":"integer"}}}}},"external_links":{"type":"object","properties":{"latest":{"type":"array","items":{"$ref":"#/components/schemas/ProjectExternalLink"}}}},"task_lists":{"type":"array","items":{"$ref":"#/components/schemas/ProjectTaskList"}},"created_at":{"type":["string","null"],"format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"ProjectsResponse":{"type":"object","properties":{"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectSummary"}},"total_returned":{"type":"integer"},"filters":{"type":"object","properties":{"status":{"type":["string","null"]},"include_tasks":{"type":"boolean"},"limit":{"type":"integer"}}},"routing_model":{"type":"string","example":"Projects are the Atlas work object. Jira issues and Confluence pages are created or linked through the Jira connector actions, then reflected here as external link counts."},"action_endpoints":{"type":"object","properties":{"create_jira_issue":{"type":"string","example":"POST /atlassian-actions/projects/{project_id}/jira-issue"},"link_jira_issue":{"type":"string","example":"POST /atlassian-actions/projects/{project_id}/jira-link"},"create_confluence_page":{"type":"string","example":"POST /atlassian-actions/projects/{project_id}/confluence-page"},"link_confluence_page":{"type":"string","example":"POST /atlassian-actions/projects/{project_id}/confluence-link"}}},"source":{"type":"object","properties":{"table":{"type":"string","example":"projects"},"nested_tables":{"type":"array","items":{"type":"string"},"example":["task_lists","action_items","atlassian_external_object_links"]},"read_only":{"type":"boolean","example":true},"organization_scoped":{"type":"boolean","example":true}}}}},"ConnectorEvent":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"connector_id":{"type":["string","null"],"format":"uuid"},"direction":{"type":"string","enum":["inbound","outbound"]},"event_type":{"type":"string","enum":["regulation.published","brief.ready","watchlist.alert","client.created","agent.response.created","jira.issue.created","jira.issue.updated","confluence.page.published","confluence.page.updated","connector.test"]},"status":{"type":"string","enum":["pending","processing","delivered","failed","dead","received","rejected","reconciliation_required"]},"attempts":{"type":"integer"},"attempted_at":{"type":["string","null"],"format":"date-time"},"lease_expires_at":{"type":["string","null"],"format":"date-time"},"last_http_status":{"type":["integer","null"]},"receipt_source":{"type":["string","null"],"enum":[null,"worker_http","worker_transport","receiver_attestation"]},"reconciliation_required":{"type":"boolean","description":"True for uncertain delivery or an expired processing lease. Inspect receiver evidence before any replay."},"next_attempt_at":{"type":["string","null"],"format":"date-time"},"delivered_at":{"type":["string","null"],"format":"date-time"},"failure_reason":{"type":["string","null"]},"created_at":{"type":"string","format":"date-time"},"replayable":{"type":"boolean","description":"True when the event can be safely queued for replay from Atlas API."},"payload":{"type":"object","description":"Included only when `include_payload=true` is supplied to the event-log route."}}},"Error":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable failure message."},"detail":{"type":["string","null"],"description":"Optional internal detail, truncated before it leaves the function."},"code":{"type":["string","null"],"description":"Stable machine-readable error code for endpoint policy, rate limits, read-unit allowance, capped overage, or metering availability.","enum":[null,"API_ENDPOINT_FORBIDDEN","API_ORGANIZATION_REQUIRED","API_ORGANIZATION_UNAVAILABLE","API_ACCESS_NOT_ENTITLED","API_ACCESS_BUDGET_INACTIVE","API_ENTITLEMENT_UNAVAILABLE","API_RATE_LIMITED","API_RATE_POLICY_UNAVAILABLE","API_RATE_METER_FORBIDDEN","API_RATE_METER_BAD_REQUEST","API_READ_UNITS_EXHAUSTED","API_OVERAGE_CAP_REACHED","API_IDEMPOTENCY_CONFLICT","API_USAGE_BUDGET_NOT_CONFIGURED","API_USAGE_SUSPENDED","API_METER_UNAVAILABLE","API_CATALOG_UNAVAILABLE","API_HISTORY_UNAVAILABLE","API_QUERY_INVALID","API_REFRESH_REQUEST_INVALID","API_REFRESH_CALLER_INELIGIBLE","API_REFRESH_DAILY_LIMIT_REACHED","API_REFRESH_TARGET_INELIGIBLE","API_REFRESH_QUEUE_UNAVAILABLE","API_REFRESH_STATUS_UNAVAILABLE","API_REFRESH_JOB_NOT_FOUND"]},"required_scope":{"type":["string","null"],"description":"Scope required for the requested route when a key is under-scoped."},"key_scopes":{"type":["array","null"],"items":{"type":"string"},"description":"Scopes currently attached to the supplied partner key."},"required_environment":{"type":["string","null"],"enum":["production",null],"description":"Environment required for production-only routes."},"key_environment":{"type":["string","null"],"enum":["sandbox","production",null],"description":"Environment attached to the supplied partner key."},"limit":{"type":["integer","null"],"description":"Included read-unit allowance for the current cycle when applicable."},"used":{"type":["integer","null"],"description":"Read units reserved in the current cycle when applicable."},"retry_after_seconds":{"type":["integer","null"],"description":"Suggested retry delay for rate-limit failures when applicable."},"rate_limit_per_minute":{"type":["integer","null"],"description":"Effective organization request allowance per minute."},"rate_burst_capacity":{"type":["integer","null"],"description":"Immediate request-token capacity for this tenant/environment bucket."},"rate_remaining":{"type":["integer","null"],"description":"Whole request tokens immediately available after this decision."},"rate_reset_seconds":{"type":["integer","null"],"description":"Seconds until another request token is available when empty."},"rate_policy_version":{"type":["string","null"],"description":"Versioned request-rate policy receipt."}},"required":["error"]}},"responses":{"Unauthorized":{"description":"Missing or invalid bearer key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Resource not found (or belongs to another partner).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"BadRequest":{"description":"Request body or params failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"Key lacks the required route scope, endpoint allowlist, organization binding, production environment, API Access entitlement, or active allowance.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"RateLimited":{"description":"Atomic request-rate capacity, included read-unit allowance, or agreed overage cap exceeded. Retry-After is present only for API_RATE_LIMITED; commercial allowance failures require a package or overage decision.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"X-Atlas-Rate-Limit-Policy":{"$ref":"#/components/headers/AtlasRateLimitPolicy"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/clients":{"post":{"operationId":"postClients","summary":"Create a client","description":"Registers a new client profile under the authenticated partner. Email must be unique per partner (not globally). `consent_given_at` is stamped server-side; the caller is responsible for having captured consent before making this call.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClientRequest"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string"},"active":{"type":"boolean"},"unsubscribe_token":{"type":"string"},"created_at":{"type":"string","format":"date-time"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"Duplicate email for this partner.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}},"get":{"operationId":"getClients","summary":"List clients","parameters":[{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false},"description":"If true, returns archived profiles too."}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"type":"object","properties":{"clients":{"type":"array","items":{"$ref":"#/components/schemas/Client"}},"total":{"type":"integer"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/clients/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"operationId":"getClientsById","summary":"Get a client","responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"type":"object","properties":{"client":{"$ref":"#/components/schemas/Client"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"patch":{"operationId":"patchClientsById","summary":"Update a client","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClientRequest"}}}},"responses":{"200":{"description":"Updated.","content":{"application/json":{"schema":{"type":"object","properties":{"client":{"$ref":"#/components/schemas/Client"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"delete":{"operationId":"deleteClientsById","summary":"Archive a client (soft-delete)","description":"Sets `archived_at = now()` and `active = false`. The row is retained for compliance/audit. A future re-subscribe for the same email will be rejected as duplicate.","responses":{"204":{"description":"Archived."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/clients/{id}/coverage":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"post":{"operationId":"postClientsByIdCoverage","summary":"Replace coverage arrays","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoverageRequest"}}}},"responses":{"200":{"description":"Coverage updated.","content":{"application/json":{"schema":{"type":"object","properties":{"client":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"jurisdictions":{"type":"array","items":{"type":"string"}},"verticals":{"type":"array","items":{"type":"string"}},"topic_tags":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string","format":"date-time"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/clients/{id}/briefings/preview":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"post":{"operationId":"postClientsByIdBriefingsPreview","summary":"Preview an auto-curated briefing for this client","description":"Returns up to 10 published news_articles from the last 14 days whose tags overlap (UNION) with the client's jurisdictions, verticals, or topic_tags. Preview only — does not dispatch. To dispatch, pass `items[]` and `recipient_profile_ids=[client.id]` to the `send-partner-client-brief` function, or wait for the daily `partner-brief-auto-daily` cron (07:00 UTC).","responses":{"200":{"description":"Preview payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingPreviewResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Client not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Client is archived/inactive or has no coverage configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/coverage":{"get":{"operationId":"getCoverage","summary":"Inspect published regulatory coverage","description":"Returns customer-safe aggregate coverage and available canonical values from the currently published Atlas corpus. Metadata discovery costs 0 read units and does not authorize delivery.","responses":{"200":{"description":"Published corpus coverage. Costs 0 read units.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulatoryCatalog"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/InternalError"}}}},"/taxonomies":{"get":{"operationId":"getTaxonomies","summary":"Discover query taxonomies","description":"Returns the versioned dimension contract and live values that can be supplied to the regulation query. Metadata discovery costs 0 read units.","responses":{"200":{"description":"Taxonomy and live values. Costs 0 read units.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulatoryTaxonomyCatalog"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/InternalError"}}}},"/freshness/refresh-jobs":{"post":{"operationId":"postFreshnessRefreshJobs","summary":"Request an exact-source refresh","description":"Creates a bounded, tenant-bound asynchronous job for the exact active registry sources behind 1-10 published regulations. Sources already inside the requested freshness boundary are not scanned again. Creation costs 25 API read units and is additionally capped at 25 jobs per organization per UTC day; the operation may resolve immediately when every source is already fresh. This action does not run AI on the request path and never authorizes Slack or another delivery route.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$"},"description":"Stable key for this exact regulation set and freshness boundary. Reusing it with different input returns 409."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulatoryRefreshRequest"}}}},"responses":{"200":{"description":"Every exact source already satisfied the boundary, or an idempotent terminal job was returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulatoryRefreshJobResponse"}}}},"202":{"description":"Job durably recorded for asynchronous dispatch. Poll the Location URL after Retry-After.","headers":{"Location":{"schema":{"type":"string"}},"Retry-After":{"schema":{"type":"integer","enum":[5]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulatoryRefreshJobResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"Idempotency-Key was already used for a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"A requested record is not published, lacks an exact active source identity, or resolves beyond the source limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/InternalError"}}}},"/freshness/refresh-jobs/{job_id}":{"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"operationId":"getFreshnessRefreshJobsByJobId","summary":"Poll an exact-source refresh job","description":"Returns the customer-safe state of one job belonging to the authenticated organization, including bounded dispatch retry state, exact source registry identities, pipeline traces, immutable source-check receipt IDs, timestamps and terminal outcomes. Costs 1 API read unit.","responses":{"200":{"description":"Current or terminal job receipt.","headers":{"Retry-After":{"schema":{"type":"integer","enum":[5]},"description":"Present while the job remains non-terminal."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulatoryRefreshJobResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/InternalError"}}}},"/regulations":{"get":{"operationId":"getRegulations","summary":"List published regulations","description":"Searches the published Atlas regulatory corpus across stable regulatory dimensions using a bounded keyset cursor. Supplied dimensions compose with AND semantics. Internal quality, embedding, raw-ingestion, and routing fields are never exposed. This read does not authorize delivery to Slack or any other destination.","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":200},"description":"English web-search over the published Atlas search index."},{"name":"jurisdiction","in":"query","required":false,"schema":{"type":"string"},"description":"Optional jurisdiction-code filter."},{"name":"subdivision","in":"query","required":false,"schema":{"type":"string"},"description":"Optional jurisdiction subdivision filter."},{"name":"vertical","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Atlas vertical filter."},{"name":"authority_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"},"description":"Stable Atlas authority identity."},{"name":"authority_name","in":"query","required":false,"schema":{"type":"string"},"description":"Case-insensitive authority-name filter. Prefer authority_id for durable integrations."},{"name":"action_type","in":"query","required":false,"schema":{"type":"string"}},{"name":"lifecycle_stage","in":"query","required":false,"schema":{"type":"string"}},{"name":"significance","in":"query","required":false,"schema":{"type":"string"}},{"name":"regulatory_event_type","in":"query","required":false,"schema":{"type":"string"}},{"name":"min_event_severity","in":"query","required":false,"schema":{"type":"integer","minimum":0}},{"name":"source_domain","in":"query","required":false,"schema":{"type":"string"}},{"name":"published_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"published_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"effective_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"effective_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"updated_from","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"Inclusive updated-at lower bound for incremental synchronization."},{"name":"updated_to","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"updated_since","in":"query","required":false,"deprecated":true,"schema":{"type":"string","format":"date-time"},"description":"Deprecated alias for updated_from."},{"name":"freshness_mode","in":"query","required":false,"schema":{"type":"string","enum":["standard","require_fresh"],"default":"standard"},"description":"standard returns current published rows with truthful freshness evidence. require_fresh fails the whole read unless every returned row has a successful exact-source check inside freshness_max_age_seconds."},{"name":"freshness_max_age_seconds","in":"query","required":false,"schema":{"type":"integer","minimum":60,"maximum":2592000,"default":93600},"description":"Maximum accepted age of the exact source-check receipt. Atlas updated_at and customer_published_at do not satisfy this boundary."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"The next_cursor returned by the preceding response."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}],"responses":{"200":{"description":"Published regulations. Costs 5 read units.","headers":{"X-Atlas-Request-Id":{"$ref":"#/components/headers/AtlasRequestId"},"X-Atlas-Read-Units":{"$ref":"#/components/headers/AtlasReadUnits"},"X-Atlas-Read-Units-Used":{"$ref":"#/components/headers/AtlasReadUnitsUsed"},"X-Atlas-Read-Units-Limit":{"$ref":"#/components/headers/AtlasReadUnitsLimit"},"X-Atlas-Read-Units-Remaining":{"$ref":"#/components/headers/AtlasReadUnitsRemaining"},"X-Atlas-Entitlement-Version":{"$ref":"#/components/headers/AtlasEntitlementVersion"},"X-Atlas-Entitlement-Reason":{"$ref":"#/components/headers/AtlasEntitlementReason"},"X-Atlas-Idempotent-Replay":{"$ref":"#/components/headers/AtlasIdempotentReplay"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"X-Atlas-Rate-Limit-Policy":{"$ref":"#/components/headers/AtlasRateLimitPolicy"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationsResponse"}}}},"400":{"description":"Invalid query boundary. Atlas fails closed rather than silently widening the result set."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"412":{"description":"freshness_mode=require_fresh was not satisfied for every returned record."},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Exact freshness evidence could not be read while require_fresh was active."}}}},"/regulations/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"operationId":"getRegulationsById","summary":"Get a published regulation","description":"Returns one published Atlas regulation with customer-safe detail, tags, and linked governed-object identities. Internal ingestion and routing fields are excluded.","parameters":[{"name":"freshness_mode","in":"query","required":false,"schema":{"type":"string","enum":["standard","require_fresh"],"default":"standard"}},{"name":"freshness_max_age_seconds","in":"query","required":false,"schema":{"type":"integer","minimum":60,"maximum":2592000,"default":93600}}],"responses":{"200":{"description":"Published regulation detail. Costs 1 read unit.","headers":{"X-Atlas-Request-Id":{"$ref":"#/components/headers/AtlasRequestId"},"X-Atlas-Read-Units":{"$ref":"#/components/headers/AtlasReadUnits"},"X-Atlas-Read-Units-Used":{"$ref":"#/components/headers/AtlasReadUnitsUsed"},"X-Atlas-Read-Units-Limit":{"$ref":"#/components/headers/AtlasReadUnitsLimit"},"X-Atlas-Read-Units-Remaining":{"$ref":"#/components/headers/AtlasReadUnitsRemaining"},"X-Atlas-Entitlement-Version":{"$ref":"#/components/headers/AtlasEntitlementVersion"},"X-Atlas-Entitlement-Reason":{"$ref":"#/components/headers/AtlasEntitlementReason"},"X-Atlas-Idempotent-Replay":{"$ref":"#/components/headers/AtlasIdempotentReplay"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"X-Atlas-Rate-Limit-Policy":{"$ref":"#/components/headers/AtlasRateLimitPolicy"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"412":{"description":"freshness_mode=require_fresh was not satisfied."},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Exact freshness evidence could not be read while require_fresh was active."}}}},"/regulations/{id}/versions":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"operationId":"getRegulationsByIdVersions","summary":"List published regulation versions","description":"Returns durable customer-safe snapshots for a regulation that is currently published. Use cursor as an exclusive version-number upper bound. Costs 5 read units.","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor returned by the preceding response."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}],"responses":{"200":{"description":"Public version history. Costs 5 read units.","headers":{"X-Atlas-Request-Id":{"$ref":"#/components/headers/AtlasRequestId"},"X-Atlas-Read-Units":{"$ref":"#/components/headers/AtlasReadUnits"},"X-Atlas-Read-Units-Used":{"$ref":"#/components/headers/AtlasReadUnitsUsed"},"X-Atlas-Read-Units-Limit":{"$ref":"#/components/headers/AtlasReadUnitsLimit"},"X-Atlas-Read-Units-Remaining":{"$ref":"#/components/headers/AtlasReadUnitsRemaining"},"X-Atlas-Entitlement-Version":{"$ref":"#/components/headers/AtlasEntitlementVersion"},"X-Atlas-Entitlement-Reason":{"$ref":"#/components/headers/AtlasEntitlementReason"},"X-Atlas-Idempotent-Replay":{"$ref":"#/components/headers/AtlasIdempotentReplay"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"X-Atlas-Rate-Limit-Policy":{"$ref":"#/components/headers/AtlasRateLimitPolicy"}},"content":{"application/json":{"schema":{"type":"object","properties":{"contract_version":{"type":"string","enum":["2026-08-28.regulation-public-history.v1"]},"regulation_id":{"type":"string","format":"uuid"},"versions":{"type":"array","items":{"$ref":"#/components/schemas/RegulationPublicVersion"}},"pagination":{"type":"object"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/InternalError"}}}},"/regulations/{id}/changes":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"operationId":"getRegulationsByIdChanges","summary":"List published regulation field changes","description":"Returns before/after values for each changed customer-safe field. The regulation must still be published. Costs 5 read units.","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}],"responses":{"200":{"description":"Field-level changes. Costs 5 read units.","headers":{"X-Atlas-Request-Id":{"$ref":"#/components/headers/AtlasRequestId"},"X-Atlas-Read-Units":{"$ref":"#/components/headers/AtlasReadUnits"},"X-Atlas-Read-Units-Used":{"$ref":"#/components/headers/AtlasReadUnitsUsed"},"X-Atlas-Read-Units-Limit":{"$ref":"#/components/headers/AtlasReadUnitsLimit"},"X-Atlas-Read-Units-Remaining":{"$ref":"#/components/headers/AtlasReadUnitsRemaining"},"X-Atlas-Entitlement-Version":{"$ref":"#/components/headers/AtlasEntitlementVersion"},"X-Atlas-Entitlement-Reason":{"$ref":"#/components/headers/AtlasEntitlementReason"},"X-Atlas-Idempotent-Replay":{"$ref":"#/components/headers/AtlasIdempotentReplay"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"X-Atlas-Rate-Limit-Policy":{"$ref":"#/components/headers/AtlasRateLimitPolicy"}},"content":{"application/json":{"schema":{"type":"object","properties":{"contract_version":{"type":"string","enum":["2026-08-28.regulation-public-history.v1"]},"regulation_id":{"type":"string","format":"uuid"},"changes":{"type":"array","items":{"$ref":"#/components/schemas/RegulationPublicChange"}},"pagination":{"type":"object"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/InternalError"}}}},"/monitor-digest":{"get":{"operationId":"getMonitorDigest","summary":"Get a recent monitor digest","description":"Returns recent published regulatory updates captured by Atlas monitors. Use for partner data warehouses, compliance agents, or daily digest jobs. The source is read-only and published-only; this route does not mutate projects, Jira, Confluence, watchlists, or registers.","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":168,"default":24},"description":"Lookback window in hours."},{"name":"jurisdiction","in":"query","required":false,"schema":{"type":"string"},"description":"Optional jurisdiction filter."},{"name":"vertical","in":"query","required":false,"schema":{"type":"string"},"description":"Optional vertical filter."},{"name":"output_format","in":"query","required":false,"schema":{"type":"string","enum":["summary","table","csv","json"],"default":"json"},"description":"JSON envelope is always returned. For summary/table/csv, `rendered` contains formatted text."},{"name":"freshness_mode","in":"query","required":false,"schema":{"type":"string","enum":["standard","require_fresh"],"default":"standard"},"description":"standard returns exact source-check evidence when available. require_fresh fails the complete digest unless every returned update has a successful exact-source check inside freshness_max_age_seconds."},{"name":"freshness_max_age_seconds","in":"query","required":false,"schema":{"type":"integer","minimum":60,"maximum":2592000,"default":93600},"description":"Maximum age of the exact ordinary source-check receipt when freshness_mode=require_fresh."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20}}],"responses":{"200":{"description":"Monitor digest.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorDigestResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"412":{"description":"freshness_mode=require_fresh was not satisfied for every returned update."},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Exact freshness evidence could not be loaded."}}}},"/monitor-events":{"get":{"operationId":"getMonitorEvents","summary":"List monitor events","description":"Returns canonical read-only published regulatory updates captured by Atlas monitors as first-class events for connector consumers. These objects do not authorize delivery; every destination requires an independent exact-tenant route-policy decision.","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":720,"default":24},"description":"Lookback window in hours. Ignored when captured_after is supplied."},{"name":"captured_after","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"Optional lower bound for the Atlas capture timestamp."},{"name":"captured_before","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"Optional upper bound for the Atlas capture timestamp."},{"name":"jurisdiction","in":"query","required":false,"schema":{"type":"string"},"description":"Optional jurisdiction filter."},{"name":"vertical","in":"query","required":false,"schema":{"type":"string"},"description":"Optional vertical filter."},{"name":"include_overview","in":"query","required":false,"schema":{"type":"boolean","default":false},"description":"When true, includes a trimmed overview for each event."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding response. It preserves the original time window and filters; supplied filter parameters must match."},{"name":"freshness_mode","in":"query","required":false,"schema":{"type":"string","enum":["standard","require_fresh"],"default":"standard"},"description":"standard returns exact source-check evidence when available. require_fresh fails the complete event page unless every returned event has a successful exact-source check inside freshness_max_age_seconds."},{"name":"freshness_max_age_seconds","in":"query","required":false,"schema":{"type":"integer","minimum":60,"maximum":2592000,"default":93600},"description":"Maximum age of the exact ordinary source-check receipt when freshness_mode=require_fresh."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Monitor events.","headers":{"X-Atlas-Request-Id":{"$ref":"#/components/headers/AtlasRequestId"},"X-Atlas-Read-Units":{"$ref":"#/components/headers/AtlasReadUnits"},"X-Atlas-Read-Units-Used":{"$ref":"#/components/headers/AtlasReadUnitsUsed"},"X-Atlas-Read-Units-Limit":{"$ref":"#/components/headers/AtlasReadUnitsLimit"},"X-Atlas-Read-Units-Remaining":{"$ref":"#/components/headers/AtlasReadUnitsRemaining"},"X-Atlas-Entitlement-Version":{"$ref":"#/components/headers/AtlasEntitlementVersion"},"X-Atlas-Entitlement-Reason":{"$ref":"#/components/headers/AtlasEntitlementReason"},"X-Atlas-Idempotent-Replay":{"$ref":"#/components/headers/AtlasIdempotentReplay"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"X-Atlas-Rate-Limit-Policy":{"$ref":"#/components/headers/AtlasRateLimitPolicy"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorEventsResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"412":{"description":"freshness_mode=require_fresh was not satisfied for every returned event."},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Exact freshness evidence could not be loaded."}}}},"/watchlists":{"get":{"operationId":"getWatchlists","summary":"List workspace watchlists","description":"Returns read-only watchlist rules for the partner key's organization. Use this to understand which regulatory filters drive Jira/Confluence, Slack, Microsoft Teams, and future connector routing. This route does not create, edit, delete, or route watchlist matches.","parameters":[{"name":"enabled","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]},"description":"Optional enabled-state filter."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Watchlist rules.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistsResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/projects":{"get":{"operationId":"getProjects","summary":"List workspace projects","description":"Returns read-only Atlas project summaries for the partner key's organization, including task-list/task counts and Jira/Confluence link counts. Use include_tasks=true when an agent or external system needs the current task structure before creating or linking Jira/Confluence work.","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["active","on-hold","completed","archived"]},"description":"Optional project status filter."},{"name":"include_tasks","in":"query","required":false,"schema":{"type":"boolean","default":false},"description":"When true, includes task arrays under each task list. Default responses include counts only."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Project summaries.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectsResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/connectors":{"post":{"operationId":"postConnectors","summary":"Register a partner connector endpoint","description":"Creates a connector endpoint for outbound Atlas events. `endpoint_url` must be https. The response includes a one-time `signing_secret` used to verify `X-Atlas-Signature`; `X-Pimlico-Signature` is retained as a compatibility alias.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","endpoint_url"],"properties":{"name":{"type":"string"},"endpoint_url":{"type":"string","format":"uri"},"connector_type":{"type":"string","enum":["webhook","mcp","rest_api","slack","teams","atlassian","jira","confluence","notion","archer","custom"],"default":"custom","description":"Use `notion` or `archer` for customer-owned signed bridge endpoints. `custom` remains available for other HTTPS destinations; `webhook` is a legacy alias."},"direction":{"type":"string","enum":["inbound","outbound","bidirectional"],"default":"outbound"},"event_types":{"type":"array","items":{"type":"string","enum":["regulation.published","brief.ready","watchlist.alert","client.created","agent.response.created","jira.issue.created","jira.issue.updated","confluence.page.published","confluence.page.updated","connector.test"]}},"config_public":{"type":"object"}}}}}},"responses":{"201":{"description":"Connector created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Connector signing is not configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"getConnectors","summary":"List connector endpoints","responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/connectors/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"operationId":"getConnectorsById","summary":"Get a connector endpoint","responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"patch":{"operationId":"patchConnectorsById","summary":"Update or rotate a connector endpoint","description":"Pass `rotate_secret: true` with the current version to return a new one-time signing secret.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Updated.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"delete":{"operationId":"deleteConnectorsById","summary":"Archive/revoke a connector endpoint","responses":{"204":{"description":"Archived."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/connectors/{id}/events":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"operationId":"getConnectorsByIdEvents","summary":"List connector delivery events","description":"Returns recent delivery attempts for one connector endpoint. Add `include_payload=true` only when debugging payload shape; default responses omit payload bodies.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["pending","processing","delivered","failed","dead","received","rejected","reconciliation_required"]}},{"name":"include_payload","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/ConnectorEvent"}},"total_returned":{"type":"integer"},"next_steps":{"type":"string"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/connectors/{id}/events/{event_id}/reconcile":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"event_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"post":{"operationId":"reconcileConnectorEvent","summary":"Reconcile an uncertain delivery using receiver evidence","description":"Records an authorized receiver attestation for an uncertain delivery or expired processing lease. Does not send or enqueue. Accepted marks delivered with receipt_source=receiver_attestation; not_received marks dead so replay can be requested separately. Identical evidence is idempotent; conflicting evidence cannot replace the audit record.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["outcome","evidence_reference","observed_at"],"properties":{"outcome":{"type":"string","enum":["accepted","not_received"]},"evidence_reference":{"type":"string","minLength":1,"maxLength":500,"description":"Non-secret receiver log or acknowledgement reference. Do not include credentials or payload bodies."},"observed_at":{"type":"string","format":"date-time","description":"Receiver evidence time, at or after the attempt and no later than the current time."}}}}}},"responses":{"200":{"description":"Receiver evidence recorded without sending.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string","const":"reconciled"},"event_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["delivered","dead"]},"outcome":{"type":"string","enum":["accepted","not_received"]},"receipt_source":{"type":"string","const":"receiver_attestation"},"idempotent_replay":{"type":"boolean"},"recorded_at":{"type":"string","format":"date-time"},"note":{"type":"string"}}}}}},"400":{"description":"Invalid evidence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Active/terminal event or conflicting prior reconciliation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Reconciliation receipt unavailable; read the event before retrying the same evidence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/connectors/{id}/events/{event_id}/replay":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"event_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"post":{"operationId":"postConnectorsByIdEventsByEventIdReplay","summary":"Replay a connector delivery event","description":"Queues a fresh outbound delivery using an existing event payload. Pending and processing events cannot be replayed. Delivered events require `allow_delivered_replay: true` to avoid accidental duplicate side effects.","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"allow_delivered_replay":{"type":"boolean","default":false}}}}}},"responses":{"202":{"description":"Replay queued.","content":{"application/json":{"schema":{"type":"object","properties":{"event":{"$ref":"#/components/schemas/ConnectorEvent"},"replayed_from_event_id":{"type":"string","format":"uuid"},"note":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Event is not currently replayable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/connectors/{id}/test":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"post":{"operationId":"postConnectorsByIdTest","summary":"Enqueue a connector test event","responses":{"202":{"description":"Queued.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Connector inactive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/integrations":{"post":{"operationId":"postIntegrations","summary":"Register an integration endpoint","description":"Alias for POST /connectors using current Atlas API naming. Creates a customer-owned HTTPS endpoint for signed outbound Atlas events.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","endpoint_url"],"properties":{"name":{"type":"string"},"endpoint_url":{"type":"string","format":"uri"},"connector_type":{"type":"string","enum":["webhook","mcp","rest_api","slack","teams","atlassian","jira","confluence","notion","archer","custom"],"default":"custom"},"direction":{"type":"string","enum":["inbound","outbound","bidirectional"],"default":"outbound"},"event_types":{"type":"array","items":{"type":"string","enum":["regulation.published","brief.ready","watchlist.alert","client.created","agent.response.created","jira.issue.created","jira.issue.updated","confluence.page.published","confluence.page.updated","connector.test"]}},"config_public":{"type":"object"}}}}}},"responses":{"201":{"description":"Integration endpoint created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Connector signing is not configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"getIntegrations","summary":"List integration endpoints","description":"Alias for GET /connectors using current Atlas API naming.","responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/integrations/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"operationId":"getIntegrationsById","summary":"Get an integration endpoint","responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"patch":{"operationId":"patchIntegrationsById","summary":"Update or rotate an integration endpoint","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Updated.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"delete":{"operationId":"deleteIntegrationsById","summary":"Archive an integration endpoint","responses":{"204":{"description":"Archived."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/integrations/{id}/events":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"operationId":"getIntegrationsByIdEvents","summary":"List integration delivery events","responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/ConnectorEvent"}},"total_returned":{"type":"integer"},"next_steps":{"type":"string"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/integrations/{id}/events/{event_id}/reconcile":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"event_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"post":{"operationId":"reconcileIntegrationEvent","summary":"Reconcile an uncertain delivery using receiver evidence","description":"Records an authorized receiver attestation for an uncertain delivery or expired processing lease. Does not send or enqueue. Accepted marks delivered with receipt_source=receiver_attestation; not_received marks dead so replay can be requested separately. Identical evidence is idempotent; conflicting evidence cannot replace the audit record.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["outcome","evidence_reference","observed_at"],"properties":{"outcome":{"type":"string","enum":["accepted","not_received"]},"evidence_reference":{"type":"string","minLength":1,"maxLength":500,"description":"Non-secret receiver log or acknowledgement reference. Do not include credentials or payload bodies."},"observed_at":{"type":"string","format":"date-time","description":"Receiver evidence time, at or after the attempt and no later than the current time."}}}}}},"responses":{"200":{"description":"Receiver evidence recorded without sending.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string","const":"reconciled"},"event_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["delivered","dead"]},"outcome":{"type":"string","enum":["accepted","not_received"]},"receipt_source":{"type":"string","const":"receiver_attestation"},"idempotent_replay":{"type":"boolean"},"recorded_at":{"type":"string","format":"date-time"},"note":{"type":"string"}}}}}},"400":{"description":"Invalid evidence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Active/terminal event or conflicting prior reconciliation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Reconciliation receipt unavailable; read the event before retrying the same evidence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/integrations/{id}/events/{event_id}/replay":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"event_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"post":{"operationId":"postIntegrationsByIdEventsByEventIdReplay","summary":"Replay an integration delivery event","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"allow_delivered_replay":{"type":"boolean","default":false}}}}}},"responses":{"202":{"description":"Replay queued.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Event is not currently replayable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/integrations/{id}/test":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"post":{"operationId":"postIntegrationsByIdTest","summary":"Enqueue an integration test event","responses":{"202":{"description":"Queued.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Connector inactive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/sandbox":{"get":{"operationId":"getSandbox","summary":"Return a synthetic sandbox signal","description":"Validates the bearer key and returns a synthetic watchlist.alert payload. This endpoint does not create production records.","responses":{"200":{"description":"Sandbox payload.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/sandbox/validate":{"post":{"operationId":"postSandboxValidate","summary":"Validate a sandbox request body","description":"Accepts a JSON object and returns a test-safe validation envelope plus a synthetic sample event. This endpoint does not create production records.","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Accepted.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/status":{"get":{"operationId":"getStatus","summary":"Read Atlas API service status","description":"Public machine-readable status for the responding API deployment and its published contracts. A successful response proves this API edge is serving; authenticated data routes remain the dependency-specific check.","security":[],"responses":{"200":{"description":"Service status. Costs 0 read units.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiServiceStatus"}}}}}}},"/changelog":{"get":{"operationId":"getChangelog","summary":"Read the Atlas API changelog","description":"Public version history and deprecation policy for customer-facing API contracts.","security":[],"responses":{"200":{"description":"API changelog. Costs 0 read units.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiChangelog"}}}}}}},"/query-capabilities":{"get":{"operationId":"getQueryCapabilities","summary":"Discover the Atlas regulatory query model","description":"Public, versioned machine-readable declaration of supported regulation filters, response dimensions, incremental-sync rules, examples, and the no-delivery-authority boundary.","security":[],"responses":{"200":{"description":"Regulatory query capabilities. Costs 0 read units.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/openapi.json":{"get":{"operationId":"getOpenapiJson","summary":"Retrieve this OpenAPI 3.1 specification","security":[],"responses":{"200":{"description":"OpenAPI 3.1 spec.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/postman.json":{"get":{"operationId":"getPostmanJson","summary":"Retrieve an importable Postman collection","security":[],"responses":{"200":{"description":"Postman Collection v2.1 JSON.","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}