{"openapi":"3.1.0","info":{"title":"RiA Multiverse - API public","version":"1.3.0"},"paths":{"/v1/public/ingest":{"post":{"tags":["data"],"summary":"Ingest","description":"Un eveniment sau un lot. Cererea se pastreaza bruta inainte de orice; rezultatul\ndepinde de `atomicity` (ITEM implicit).","operationId":"ingest_v1_public_ingest_post","parameters":[{"name":"atomicity","in":"query","required":false,"schema":{"enum":["NONE","ITEM","BATCH"],"type":"string","default":"ITEM","title":"Atomicity"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"application/cloudevents+json":{"schema":{"additionalProperties":true,"description":"Plicul canonic: CloudEvents 1.0, mod structurat. Extensiile RiA si cele proprii\nclientului sunt atribute in plus; ce nu e in lista de mai jos se pastreaza intact.","properties":{"specversion":{"const":"1.0","title":"Specversion","type":"string"},"id":{"description":"event_id; identitatea e (source, id)","maxLength":256,"minLength":1,"title":"Id","type":"string"},"source":{"description":"urn:ria:src:<source_id>","title":"Source","type":"string"},"type":{"description":"ria.<kind>.v1; altceva se pastreaza ca UNKNOWN","title":"Type","type":"string"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"cheia entitatii (obligatoriu la change)","title":"Subject"},"time":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"occurred_at","title":"Time"},"recordedtime":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"observed_at","title":"Recordedtime"},"datacontenttype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datacontenttype"},"dataschema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"https://multiverse.ria-erp.com/v1/public/schemas/<schema_id>","title":"Dataschema"},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"},"sequence":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"cifre, cu zerouri in fata (ordine lexicografica)","title":"Sequence"},"riastream":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"stream-ul din catalog","title":"Riastream"},"riaop":{"anyOf":[{"enum":["c","u","d","r","a"],"type":"string"},{"type":"null"}],"description":"operatia la change: c/u/d/r, plus a = arhivare (nu e stergere; c o readuce)","title":"Riaop"},"riacompany":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"company_ref din companiile declarate la inregistrare","title":"Riacompany"},"correlationid":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}],"description":"lantul comanda -> schimbare; cautabil","title":"Correlationid"},"riacursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Riacursor"},"riasnapshot":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"sesiunea de snapshot (la ria.snapshot.v1)","title":"Riasnapshot"},"causationid":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"parent_event_id","title":"Causationid"}},"required":["specversion","id","source","type"],"title":"EvenimentCloud","type":"object"}},"application/cloudevents-batch+json":{"schema":{"type":"array","maxItems":500,"items":{"additionalProperties":true,"description":"Plicul canonic: CloudEvents 1.0, mod structurat. Extensiile RiA si cele proprii\nclientului sunt atribute in plus; ce nu e in lista de mai jos se pastreaza intact.","properties":{"specversion":{"const":"1.0","title":"Specversion","type":"string"},"id":{"description":"event_id; identitatea e (source, id)","maxLength":256,"minLength":1,"title":"Id","type":"string"},"source":{"description":"urn:ria:src:<source_id>","title":"Source","type":"string"},"type":{"description":"ria.<kind>.v1; altceva se pastreaza ca UNKNOWN","title":"Type","type":"string"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"cheia entitatii (obligatoriu la change)","title":"Subject"},"time":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"occurred_at","title":"Time"},"recordedtime":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"observed_at","title":"Recordedtime"},"datacontenttype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datacontenttype"},"dataschema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"https://multiverse.ria-erp.com/v1/public/schemas/<schema_id>","title":"Dataschema"},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"},"sequence":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"cifre, cu zerouri in fata (ordine lexicografica)","title":"Sequence"},"riastream":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"stream-ul din catalog","title":"Riastream"},"riaop":{"anyOf":[{"enum":["c","u","d","r","a"],"type":"string"},{"type":"null"}],"description":"operatia la change: c/u/d/r, plus a = arhivare (nu e stergere; c o readuce)","title":"Riaop"},"riacompany":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"company_ref din companiile declarate la inregistrare","title":"Riacompany"},"correlationid":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}],"description":"lantul comanda -> schimbare; cautabil","title":"Correlationid"},"riacursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Riacursor"},"riasnapshot":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"sesiunea de snapshot (la ria.snapshot.v1)","title":"Riasnapshot"},"causationid":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"parent_event_id","title":"Causationid"}},"required":["specversion","id","source","type"],"title":"EvenimentCloud","type":"object"}}}}}}},"/v1/public/sources/{source_id}/events":{"get":{"tags":["data"],"summary":"Flux","description":"Evenimentele primite de la o sursa, in ordinea primirii, paginate cu cursor opac.\nAcelasi cursor da mereu aceeasi pagina (nimic nu se rescrie).","operationId":"flux_v1_public_sources__source_id__events_get","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Source Id"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"next_cursor din pagina anterioara","title":"After"},"description":"next_cursor din pagina anterioara"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"stream","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream"}},{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/sources/{source_id}/streams":{"get":{"tags":["data"],"summary":"Puncte De Reluare","description":"De unde reia o sursa dupa o deconectare: ultima secventa si ultimul cursor primite pe\nfiecare stream, golurile, starea entitatilor, ultimul snapshot.","operationId":"puncte_de_reluare_v1_public_sources__source_id__streams_get","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Source Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/snapshots":{"post":{"tags":["data"],"summary":"Deschide","description":"Incepe un snapshot pe un stream negociat. Un snapshot inca deschis pe acelasi stream\n(sursa s-a deconectat in mijlocul lui) devine ABANDONED: nu deduce nimic.","operationId":"deschide_v1_public_snapshots_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereSnapshot"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/snapshots/{snapshot_id}/complete":{"post":{"tags":["data"],"summary":"Finalizeaza","operationId":"finalizeaza_v1_public_snapshots__snapshot_id__complete_post","parameters":[{"name":"snapshot_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Snapshot Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereFinal"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/snapshots/{snapshot_id}":{"get":{"tags":["data"],"summary":"Citeste","operationId":"citeste_v1_public_snapshots__snapshot_id__get","parameters":[{"name":"snapshot_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Snapshot Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/bulk":{"post":{"tags":["data"],"summary":"Creeaza","operationId":"creeaza_v1_public_bulk_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereBulk"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/bulk/{bulk_id}/parts/{nr}":{"put":{"tags":["data"],"summary":"Parte","operationId":"parte_v1_public_bulk__bulk_id__parts__nr__put","parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Bulk Id"}},{"name":"nr","in":"path","required":true,"schema":{"type":"integer","title":"Nr"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"application/cloudevents-batch+json":{"schema":{"type":"array","maxItems":500,"items":{"additionalProperties":true,"description":"Plicul canonic: CloudEvents 1.0, mod structurat. Extensiile RiA si cele proprii\nclientului sunt atribute in plus; ce nu e in lista de mai jos se pastreaza intact.","properties":{"specversion":{"const":"1.0","title":"Specversion","type":"string"},"id":{"description":"event_id; identitatea e (source, id)","maxLength":256,"minLength":1,"title":"Id","type":"string"},"source":{"description":"urn:ria:src:<source_id>","title":"Source","type":"string"},"type":{"description":"ria.<kind>.v1; altceva se pastreaza ca UNKNOWN","title":"Type","type":"string"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"cheia entitatii (obligatoriu la change)","title":"Subject"},"time":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"occurred_at","title":"Time"},"recordedtime":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"observed_at","title":"Recordedtime"},"datacontenttype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datacontenttype"},"dataschema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"https://multiverse.ria-erp.com/v1/public/schemas/<schema_id>","title":"Dataschema"},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"},"sequence":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"cifre, cu zerouri in fata (ordine lexicografica)","title":"Sequence"},"riastream":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"stream-ul din catalog","title":"Riastream"},"riaop":{"anyOf":[{"enum":["c","u","d","r","a"],"type":"string"},{"type":"null"}],"description":"operatia la change: c/u/d/r, plus a = arhivare (nu e stergere; c o readuce)","title":"Riaop"},"riacompany":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"company_ref din companiile declarate la inregistrare","title":"Riacompany"},"correlationid":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}],"description":"lantul comanda -> schimbare; cautabil","title":"Correlationid"},"riacursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Riacursor"},"riasnapshot":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"sesiunea de snapshot (la ria.snapshot.v1)","title":"Riasnapshot"},"causationid":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"parent_event_id","title":"Causationid"}},"required":["specversion","id","source","type"],"title":"EvenimentCloud","type":"object"}}}}}}},"/v1/public/bulk/{bulk_id}/commit":{"post":{"tags":["data"],"summary":"Trimite","operationId":"trimite_v1_public_bulk__bulk_id__commit_post","parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Bulk Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/bulk/{bulk_id}":{"get":{"tags":["data"],"summary":"Citeste","operationId":"citeste_v1_public_bulk__bulk_id__get","parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Bulk Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/jobs/{job_id}":{"get":{"tags":["jobs"],"summary":"Citeste","operationId":"citeste_v1_public_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/jobs/{job_id}/cancel":{"post":{"tags":["jobs"],"summary":"Anuleaza","description":"QUEUED se anuleaza pe loc; RUNNING se opreste la urmatorul checkpoint.","operationId":"anuleaza_v1_public_jobs__job_id__cancel_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/webhooks/keys":{"get":{"tags":["subscriptions"],"summary":"Chei","description":"Cheile publice cu care RiA semneaza webhook-urile. Fara semnatura: sunt publice.","operationId":"chei_v1_public_webhooks_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/public/subscriptions":{"post":{"tags":["subscriptions"],"summary":"Aboneaza","operationId":"aboneaza_v1_public_subscriptions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereAbonament"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/subscriptions/{subscription_id}":{"get":{"tags":["subscriptions"],"summary":"Citeste","operationId":"citeste_v1_public_subscriptions__subscription_id__get","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["subscriptions"],"summary":"Dezaboneaza","operationId":"dezaboneaza_v1_public_subscriptions__subscription_id__delete","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/identities/evidence":{"post":{"tags":["identity"],"summary":"Dovada","description":"Sursa spune: „la mine, X are identitatea asta\". E dovada, nu identitate canonica.","operationId":"dovada_v1_public_identities_evidence_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereDovada"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/identities/mappings":{"post":{"tags":["identity"],"summary":"Leaga","operationId":"leaga_v1_public_identities_mappings_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereLegare"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/identities/{canonical_id}":{"get":{"tags":["identity"],"summary":"Identitate","operationId":"identitate_v1_public_identities__canonical_id__get","parameters":[{"name":"canonical_id","in":"path","required":true,"schema":{"type":"string","title":"Canonical Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/relations":{"get":{"tags":["identity","identity"],"summary":"Relatii","operationId":"relatii_v1_public_relations_get","parameters":[{"name":"subject","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Subject"}},{"name":"relation_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Relation Type"}},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"doar relatiile valabile in acest moment","title":"At"},"description":"doar relatiile valabile in acest moment"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/actions":{"post":{"tags":["actions"],"summary":"Cere","operationId":"cere_v1_public_actions_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereActiune"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["actions"],"summary":"Lista","description":"Ce are de executat un sistem: actiunile autorizate pe sursa lui.","operationId":"lista_v1_public_actions_get","parameters":[{"name":"source_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Source Id"}},{"name":"pending","in":"query","required":false,"schema":{"type":"boolean","description":"doar autorizate, neexpirate, fara rezultat","default":true,"title":"Pending"},"description":"doar autorizate, neexpirate, fara rezultat"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/actions/{action_id}":{"get":{"tags":["actions"],"summary":"Citeste","operationId":"citeste_v1_public_actions__action_id__get","parameters":[{"name":"action_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Action Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/actions/{action_id}/result":{"post":{"tags":["actions"],"summary":"Rezultat","description":"Executorul spune ce a facut. Un singur rezultat pe actiune; retrimis identic = acelasi.","operationId":"rezultat_v1_public_actions__action_id__result_post","parameters":[{"name":"action_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Action Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereRezultat"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/actions/{action_id}/outcome":{"post":{"tags":["actions"],"summary":"Efect","description":"Efectul observat, cu dovada. Nu-l poate confirma cheia care a raportat rezultatul.","operationId":"efect_v1_public_actions__action_id__outcome_post","parameters":[{"name":"action_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Action Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereOutcome"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/audit":{"get":{"tags":["actions","audit"],"summary":"Audit","description":"Tot ce poarta acelasi correlation_id, in ordinea in care a ajuns la noi: comanda (cu grantul\ncare a autorizat-o), rezultatul raportat, efectele observate si evenimentele (schimbarile).","operationId":"audit_v1_public_audit_get","parameters":[{"name":"correlation_id","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":256,"title":"Correlation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/sources/{source_id}/capabilities":{"get":{"tags":["actions","control"],"summary":"Capabilitati","description":"Ce poate face sistemul (din ultima descoperire), cu istoricul versiunilor si\ngrant-urile valabile pe versiunea curenta. Descoperirea singura nu da niciun drept.\n`kind` (READ, QUERY, PROPOSE, EXECUTE) e acelasi ca in agents.capabilities.discover.","operationId":"capabilitati_v1_public_sources__source_id__capabilities_get","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Source Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/control/operations":{"get":{"summary":"Operatii","description":"Ce se poate cere Control Plane-ului: numele, schema intrarii, scopul cerut si daca schimba ceva.","operationId":"operatii_v1_public_control_operations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/public/control/{operation}":{"post":{"summary":"Executa","operationId":"executa_v1_public_control__operation__post","parameters":[{"name":"operation","in":"path","required":true,"schema":{"type":"string","maxLength":64,"title":"Operation"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereControl"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/conformance":{"get":{"tags":["control"],"summary":"Conformance","description":"Ce stie API-ul, citibil de masina. Fara semnatura: nu spune nimic despre clienti.","operationId":"conformance_v1_public_conformance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/public/sources/register":{"post":{"tags":["control"],"summary":"Inregistreaza","description":"Aceeasi inregistrare de doua ori = acelasi source_id. Aceeasi sursa (source_ref) cu\nalt continut = conflict explicit, nu suprascriere.","operationId":"inregistreaza_v1_public_sources_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereInregistrare"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/sources/discover":{"post":{"tags":["control"],"summary":"Descopera","description":"Sursa isi declara catalogul: stream-uri cu scheme, relatii, identitati, capabilitati,\nmoduri de sincronizare, cursor. Totul se pastreaza brut; schemele intra in registru.","operationId":"descopera_v1_public_sources_discover_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereDescoperire"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/version-negotiate":{"post":{"tags":["control"],"summary":"Negociaza","description":"Protocol, versiunea sursei, schema fiecarui stream, versiunea fiecarei capabilitati:\ntoate explicit. Ce nu corespunde starii curente din registru se refuza, nu se accepta tacit.","operationId":"negociaza_v1_public_version_negotiate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerereNegociere"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/sources":{"get":{"tags":["control"],"summary":"Surse","description":"Recuperarea identitatii dupa pierderea starii locale: sursele tenantului cheii care\nsemneaza, cu contractul lor. Doar citire: nu creeaza, nu schimba si nu reseteaza nimic.\nSursele sunt ale tenantului, nu ale cheii: orice cheie activa a tenantului le vede pe toate.","operationId":"surse_v1_public_sources_get","parameters":[{"name":"source_ref","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Source Ref"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/sources/{source_id}":{"get":{"tags":["control"],"summary":"Sursa","operationId":"sursa_v1_public_sources__source_id__get","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Source Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/sources/{source_id}/heartbeat":{"post":{"tags":["control"],"summary":"Heartbeat","description":"Semn de viata, separat de evenimentele de business. Nu schimba starea sursei, nu\nreinnoieste si nu invalideaza contractul: e doar informatie despre disponibilitate.","operationId":"heartbeat_v1_public_sources__source_id__heartbeat_post","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Source Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Heartbeat"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/schemas/{schema_id}":{"get":{"tags":["control"],"summary":"Schema","operationId":"schema_v1_public_schemas__schema_id__get","parameters":[{"name":"schema_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Schema Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/events/{source_id}/{event_id}":{"get":{"tags":["data"],"summary":"Eveniment","description":"Evenimentul exact cum a fost primit (cu extensiile lui) si provenienta lui.","operationId":"eveniment_v1_public_events__source_id___event_id__get","parameters":[{"name":"source_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Source Id"}},{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Capabilitate":{"properties":{"capability_id":{"type":"string","pattern":"^[A-Za-z0-9._:/-]{1,128}$","title":"Capability Id"},"capability_version":{"type":"string","maxLength":64,"minLength":1,"title":"Capability Version"},"parameters_schema":{"additionalProperties":true,"type":"object","title":"Parameters Schema","default":{}},"result_schema":{"additionalProperties":true,"type":"object","title":"Result Schema","default":{}}},"additionalProperties":true,"type":"object","required":["capability_id","capability_version"],"title":"Capabilitate"},"CapabilitateNegociata":{"properties":{"capability_id":{"type":"string","title":"Capability Id"},"capability_version":{"type":"string","title":"Capability Version"},"capability_fingerprint":{"type":"string","title":"Capability Fingerprint"}},"additionalProperties":false,"type":"object","required":["capability_id","capability_version","capability_fingerprint"],"title":"CapabilitateNegociata"},"Catalog":{"properties":{"streams":{"items":{"$ref":"#/components/schemas/Stream"},"type":"array","title":"Streams","default":[]},"relations":{"items":{"$ref":"#/components/schemas/Relatie"},"type":"array","title":"Relations","default":[]},"identities":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Identities","default":[]},"capabilities":{"items":{"$ref":"#/components/schemas/Capabilitate"},"type":"array","title":"Capabilities","default":[]},"ingestion_modes":{"items":{"type":"string","enum":["PUSH","PULL","STREAM"]},"type":"array","title":"Ingestion Modes","default":["PUSH"]},"cursor":{"additionalProperties":true,"type":"object","title":"Cursor","default":{}},"extensions":{"additionalProperties":true,"type":"object","title":"Extensions","default":{}}},"additionalProperties":true,"type":"object","title":"Catalog"},"CerereAbonament":{"properties":{"types":{"items":{"type":"string","enum":["CHANGE","EVENT","RESULT","OUTCOME","SCHEMA_DRIFT","CAPABILITY_DRIFT","SOURCE_STATE_CHANGE","AUTHORIZATION_CHANGE","REVOCATION","DISPATCH","APPROVAL","MANDATE_INFORM"]},"type":"array","minItems":1,"title":"Types"},"url":{"type":"string","maxLength":2048,"minLength":9,"title":"Url","examples":["https://hooks.firma.ro/ria"]},"source_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Source Id","description":"lipsa = toate sursele tenantului"}},"additionalProperties":false,"type":"object","required":["types","url"],"title":"CerereAbonament"},"CerereActiune":{"properties":{"idempotency_key":{"type":"string","maxLength":256,"minLength":1,"title":"Idempotency Key"},"source_id":{"type":"string","format":"uuid","title":"Source Id","description":"sursa (sistemul) care are capabilitatea si o va executa"},"target":{"type":"string","maxLength":512,"minLength":1,"title":"Target","description":"pe ce se executa (ex. device:42)"},"capability_id":{"type":"string","maxLength":128,"minLength":1,"title":"Capability Id"},"capability_version":{"type":"string","maxLength":64,"minLength":1,"title":"Capability Version"},"parameters":{"additionalProperties":true,"type":"object","title":"Parameters"},"grant_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grant Id","description":"dreptul explicit de executie"},"correlation_id":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Correlation Id","description":"lantul cap-coada; GET /v1/public/audit?correlation_id="},"requested_at":{"type":"string","format":"date-time","title":"Requested At"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"additionalProperties":false,"type":"object","required":["idempotency_key","source_id","target","capability_id","capability_version","requested_at","expires_at"],"title":"CerereActiune"},"CerereBulk":{"properties":{"atomicity":{"type":"string","enum":["NONE","ITEM","BATCH"],"title":"Atomicity"},"parts":{"items":{"$ref":"#/components/schemas/Parte"},"type":"array","maxItems":10000,"minItems":1,"title":"Parts"},"total_events":{"type":"integer","minimum":1.0,"title":"Total Events"}},"additionalProperties":false,"type":"object","required":["atomicity","parts","total_events"],"title":"CerereBulk"},"CerereControl":{"properties":{"organization_id":{"type":"string","pattern":"^(organization:[A-Za-z0-9_.:-]{1,128}|platform:ria-multiverse)$","title":"Organization Id"},"input":{"additionalProperties":true,"type":"object","title":"Input"},"idempotency_key":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Idempotency Key"},"correlation_id":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Correlation Id"},"causation_id":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Causation Id"},"initiator":{"anyOf":[{"$ref":"#/components/schemas/Initiator"},{"type":"null"}]}},"type":"object","required":["organization_id"],"title":"CerereControl"},"CerereDescoperire":{"properties":{"source_id":{"type":"string","format":"uuid","title":"Source Id"},"catalog":{"$ref":"#/components/schemas/Catalog"},"additive_only":{"type":"boolean","title":"Additive Only","description":"refuza (nimic scris) orice nu e catalogul curent plus adaugari: niciun stream sau capabilitate schimbata sau lipsa","default":false}},"additionalProperties":false,"type":"object","required":["source_id","catalog"],"title":"CerereDescoperire"},"CerereDovada":{"properties":{"source_id":{"type":"string","format":"uuid","title":"Source Id"},"identity_type":{"type":"string","maxLength":128,"minLength":1,"title":"Identity Type","examples":["device_serial","vat_code","email"]},"external_id":{"type":"string","maxLength":512,"minLength":1,"title":"External Id"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"evidence":{"additionalProperties":true,"type":"object","title":"Evidence","description":"pe ce se sprijina afirmatia (document, registru, etc.)"}},"additionalProperties":false,"type":"object","required":["source_id","identity_type","external_id"],"title":"CerereDovada"},"CerereFinal":{"properties":{"record_count":{"type":"integer","minimum":0.0,"title":"Record Count","description":"cate inregistrari a trimis sursa in acest snapshot"},"sequence":{"anyOf":[{"type":"string","pattern":"^\\d{1,40}$"},{"type":"null"}],"title":"Sequence","description":"pozitia in sirul de modificari la care e luat snapshot-ul"},"cursor":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Cursor"}},"additionalProperties":false,"type":"object","required":["record_count"],"title":"CerereFinal"},"CerereInregistrare":{"properties":{"source_ref":{"type":"string","pattern":"^[A-Za-z0-9._:/-]{1,128}$","title":"Source Ref","description":"Numele stabil pe care clientul il da sursei lui."},"tenant_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant Id","description":"Optional; daca e dat, trebuie sa fie al cheii."},"organization_id":{"type":"string","maxLength":128,"minLength":1,"title":"Organization Id"},"legal_entity_id":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Legal Entity Id"},"source_type":{"type":"string","maxLength":128,"minLength":1,"title":"Source Type","examples":["erp","vms","robot","unknown"]},"source_version":{"type":"string","maxLength":64,"minLength":1,"title":"Source Version"},"protocol":{"type":"string","maxLength":64,"minLength":1,"title":"Protocol","examples":["https+cloudevents"]},"authorization_scope":{"additionalProperties":true,"type":"object","title":"Authorization Scope"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"instance_ref":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Instance Ref","description":"instanta sistemului (ex. mssecurity-community18)"},"database":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Database","description":"baza de date din instanta"},"companies":{"items":{"$ref":"#/components/schemas/Companie"},"type":"array","maxItems":500,"title":"Companies","description":"companiile acoperite de sursa; evenimentele le numesc cu riacompany"}},"additionalProperties":false,"type":"object","required":["source_ref","organization_id","source_type","source_version","protocol"],"title":"CerereInregistrare"},"CerereLegare":{"properties":{"evidence_id":{"type":"string","format":"uuid","title":"Evidence Id"},"canonical_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Canonical Id","description":"lipsa = identitate canonica noua"},"method":{"type":"string","maxLength":128,"minLength":1,"title":"Method","examples":["manual_review","registry_lookup"]},"verified_by":{"type":"string","maxLength":256,"minLength":1,"title":"Verified By"}},"additionalProperties":false,"type":"object","required":["evidence_id","method","verified_by"],"title":"CerereLegare"},"CerereNegociere":{"properties":{"source_id":{"type":"string","format":"uuid","title":"Source Id"},"protocol_versions":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Protocol Versions"},"source_version":{"type":"string","maxLength":64,"minLength":1,"title":"Source Version"},"streams":{"items":{"$ref":"#/components/schemas/StreamNegociat"},"type":"array","title":"Streams","default":[]},"capabilities":{"items":{"$ref":"#/components/schemas/CapabilitateNegociata"},"type":"array","title":"Capabilities","default":[]}},"additionalProperties":false,"type":"object","required":["source_id","protocol_versions","source_version"],"title":"CerereNegociere"},"CerereOutcome":{"properties":{"status":{"type":"string","enum":["CONFIRMED","CONTRADICTED","INCONCLUSIVE"],"title":"Status"},"evidence":{"additionalProperties":true,"type":"object","minProperties":1,"title":"Evidence","description":"ce s-a observat si de unde; `event: {source_id, event_id}` trimite la schimbarea care confirma efectul si se verifica"},"observed_at":{"type":"string","format":"date-time","title":"Observed At"}},"additionalProperties":false,"type":"object","required":["status","evidence","observed_at"],"title":"CerereOutcome"},"CerereRezultat":{"properties":{"status":{"type":"string","enum":["SUCCEEDED","FAILED","PARTIAL","REJECTED"],"title":"Status"},"output":{"additionalProperties":true,"type":"object","title":"Output"},"reported_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reported At"}},"additionalProperties":false,"type":"object","required":["status"],"title":"CerereRezultat"},"CerereSnapshot":{"properties":{"source_id":{"type":"string","format":"uuid","title":"Source Id"},"stream":{"type":"string","maxLength":128,"minLength":1,"title":"Stream"}},"additionalProperties":false,"type":"object","required":["source_id","stream"],"title":"CerereSnapshot"},"Companie":{"properties":{"company_ref":{"type":"string","pattern":"^[A-Za-z0-9._:/-]{1,128}$","title":"Company Ref","examples":["mssecurity:companies_internal:1"]},"name":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Name"},"organization_id":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Organization Id","description":"organization_same_as, unde exista"},"legal_entity_id":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Legal Entity Id"}},"additionalProperties":false,"type":"object","required":["company_ref"],"title":"Companie"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Heartbeat":{"properties":{"interval_seconds":{"anyOf":[{"type":"integer","maximum":604800.0,"minimum":10.0},{"type":"null"}],"title":"Interval Seconds","description":"la cat timp promite sursa urmatorul heartbeat"},"status":{"additionalProperties":true,"type":"object","title":"Status","description":"ce vrea sursa sa raporteze despre ea (informativ)"}},"additionalProperties":false,"type":"object","title":"Heartbeat"},"Initiator":{"properties":{"kind":{"type":"string","enum":["human","agent","system","external"],"title":"Kind"},"id":{"type":"string","maxLength":256,"minLength":1,"title":"Id"}},"type":"object","required":["kind","id"],"title":"Initiator","description":"Cine a pornit lantul (declarat de apelant, pastrat in audit si dat politicii; nu da autoritate)."},"Parte":{"properties":{"part":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Part"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Sha256","description":"sha256 hex al corpului partii, octet cu octet"},"events":{"type":"integer","maximum":500.0,"minimum":1.0,"title":"Events"}},"additionalProperties":false,"type":"object","required":["part","sha256","events"],"title":"Parte"},"Relatie":{"properties":{"subject":{"type":"string","title":"Subject"},"relation_type":{"type":"string","title":"Relation Type"},"object":{"type":"string","title":"Object"}},"additionalProperties":true,"type":"object","required":["subject","relation_type","object"],"title":"Relatie"},"Stream":{"properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9._:/-]{1,128}$","title":"Name"},"json_schema":{"additionalProperties":true,"type":"object","title":"Json Schema"},"kinds":{"items":{"type":"string","enum":["snapshot","change","event","telemetry","relation","document","result","outcome","unknown"]},"type":"array","title":"Kinds","default":["snapshot","change","event"]},"supported_sync_modes":{"items":{"type":"string","enum":["full_refresh","incremental"]},"type":"array","title":"Supported Sync Modes","default":["full_refresh"]},"primary_key":{"items":{"type":"string"},"type":"array","title":"Primary Key","default":[]},"cursor_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor Field"}},"additionalProperties":true,"type":"object","required":["name","json_schema"],"title":"Stream"},"StreamNegociat":{"properties":{"name":{"type":"string","title":"Name"},"schema_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Schema Id"},"schema_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schema Fingerprint"}},"additionalProperties":false,"type":"object","required":["name"],"title":"StreamNegociat"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}