Sirion Metadata & Clauses API

Contract metadata fields and AI-extracted clauses (MODELED).

OpenAPI Specification

sirion-metadata-clauses-api-openapi.yml Raw ↑
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: {}