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: {}