openapi: 3.0.3 info: title: Sirion CLM API (Modeled) Contract Requests Metadata & Clauses API description: 'IMPORTANT - MODELED DOCUMENT. This OpenAPI definition is a MODELED representation of the Sirion (SirionLabs) CLM "Business API & Integrations" surface. It is NOT copied from an official public reference. Sirion''s API reference is available only to authenticated Sirion users (via My Account -> Resources -> Help Guide in the tenant application, and at docs.sirion.ai behind login), and API access is provisioned per enterprise tenant. What is publicly CONFIRMED and reflected here: (1) SirionOne is RESTful and "any activity possible in the web application is possible via the APIs"; (2) authentication uses OAuth 2.0 client credentials for Sirion B2B APIs (an OAuth Client Id and OAuth Client Secret generated by a tenant admin under Admin 2.0 -> Business API & Integrations / OAuth Client Setup); (3) Sirion supports configurable outbound webhooks with field-based filtering and event-based, asynchronous processing; (4) core CLM entities include contracts, contract requests (CDRs), metadata and clauses, obligations, and suppliers / counterparties. What is MODELED and NOT publicly confirmable: all endpoint paths, the exact request/response schemas, the OAuth token URL, and the per-tenant host. The base server below uses a `tenant` variable on the confirmed product domain sirioncloud.com; substitute your organization''s actual Sirion host. Do not treat these paths as authoritative - obtain the real reference from your Sirion tenant.' version: 1.0-modeled contact: name: SirionLabs url: https://www.sirion.ai servers: - url: https://{tenant}.sirioncloud.com description: Per-tenant SirionOne instance (MODELED host pattern on the confirmed product domain sirioncloud.com). Replace {tenant} with your organization's Sirion subdomain. The exact API path prefix is provisioned per tenant. variables: tenant: default: your-org description: Your organization's Sirion tenant subdomain. security: - oauth2ClientCredentials: [] tags: - name: Metadata & Clauses description: Contract metadata fields and AI-extracted clauses (MODELED). paths: /contracts/{contractId}/metadata: parameters: - $ref: '#/components/parameters/ContractId' get: operationId: getContractMetadata tags: - Metadata & Clauses summary: Get contract metadata (MODELED) responses: '200': description: Metadata fields for the contract. content: application/json: schema: $ref: '#/components/schemas/Metadata' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' patch: operationId: updateContractMetadata tags: - Metadata & Clauses summary: Update contract metadata (MODELED) requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Metadata' responses: '200': description: The updated metadata. content: application/json: schema: $ref: '#/components/schemas/Metadata' '401': $ref: '#/components/responses/Unauthorized' /contracts/{contractId}/clauses: parameters: - $ref: '#/components/parameters/ContractId' get: operationId: listContractClauses tags: - Metadata & Clauses summary: List AI-extracted clauses for a contract (MODELED) responses: '200': description: A list of extracted clauses. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Clause' '401': $ref: '#/components/responses/Unauthorized' components: schemas: Metadata: type: object description: MODELED contract metadata field bag. properties: contractId: type: string fields: type: object additionalProperties: true Clause: type: object description: MODELED AI-extracted clause. properties: id: type: string type: type: string text: type: string confidence: type: number Error: type: object properties: code: type: string message: type: string responses: Unauthorized: description: Missing or invalid OAuth access token. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error' parameters: ContractId: name: contractId in: path required: true description: The ID of the contract (MODELED). schema: type: string securitySchemes: oauth2ClientCredentials: type: oauth2 description: 'OAuth 2.0 client credentials grant. CONFIRMED: a Sirion tenant admin generates an OAuth Client Id and OAuth Client Secret under Admin 2.0 -> Business API & Integrations (OAuth Client Setup), used to obtain an access token for the Sirion B2B APIs. The token URL below is MODELED / tenant-specific and must be replaced with your tenant''s actual token endpoint.' flows: clientCredentials: tokenUrl: https://your-org.sirioncloud.com/oauth/token scopes: {}