openapi: 3.0.3
info:
title: LinkSquares Account Metadata and Smart Values API
description: 'The LinkSquares API is the public REST API for the LinkSquares AI-powered contract lifecycle management (CLM) platform. It spans two products. Analyze exposes processed agreements plus the metadata, Smart Values, terms, types, tags, and parent/child hierarchy extracted from them, and lets you import DOCX/PDF documents for AI processing. Finalize lets external systems retrieve templates, create draft/intake/request agreements, and retrieve and approve tasks. All requests authenticate with an API key passed as an `x-api-key` header; the same token is shared across Analyze and Finalize. API access is gated to LinkSquares customers and keys are self-managed by Administrator users.
GROUNDING NOTE: The Analyze paths in this document (under /api/analyze) are CONFIRMED against the public LinkSquares API Overview and Analyze API Sample Use Cases help-center articles, including live cURL examples. The Finalize paths (under /api/finalize) are MODELED from the capability-level descriptions in the LinkSquares API Overview - LinkSquares documents that Finalize can retrieve templates, retrieve and approve tasks, and create agreements, but the concrete request paths are behind the customer-gated API reference and must be confirmed before use. Request and response schemas throughout are modeled from documented behavior and examples, not copied from an official OpenAPI definition.'
version: '1.0'
contact:
name: LinkSquares
url: https://linksquares.com
license:
name: Proprietary
url: https://linksquares.com/saas-terms-of-service
servers:
- url: https://api.linksquares.com
description: LinkSquares production API gateway
security:
- apiKeyAuth: []
tags:
- name: Metadata and Smart Values
description: Terms, Smart Values, hierarchy, and agreement types (confirmed).
paths:
/api/analyze/v1/agreements/{agreement_id}/hierarchy:
parameters:
- $ref: '#/components/parameters/AgreementId'
get:
operationId: getAgreementHierarchy
tags:
- Metadata and Smart Values
summary: Retrieve parent/child hierarchy
description: Returns the parent/child hierarchy tree for a given agreement as an unsorted JSON hash, including the IDs and names of all related agreements and their relationships. Confirmed.
responses:
'200':
description: The hierarchy tree.
content:
application/json:
schema:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/api/analyze/v1/agreements/{agreement_id}/terms:
parameters:
- $ref: '#/components/parameters/AgreementId'
get:
operationId: getAgreementTerms
tags:
- Metadata and Smart Values
summary: Retrieve agreement terms
description: Retrieves the terms (Smart Values) extracted for a single agreement. Confirmed.
responses:
'200':
description: The agreement's terms.
content:
application/json:
schema:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/api/analyze/v2/agreements/{agreement_id}/terms/{term_id}:
parameters:
- $ref: '#/components/parameters/AgreementId'
- name: term_id
in: path
required: true
description: The identifier of the term / Smart Value.
schema:
type: string
patch:
operationId: updateAgreementTerm
tags:
- Metadata and Smart Values
summary: Update an agreement term
description: Updates the value of a single term (Smart Value) on an agreement. Confirmed (v2).
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: The updated term.
content:
application/json:
schema:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/api/analyze/v1/agreement_types:
get:
operationId: listAgreementTypes
tags:
- Metadata and Smart Values
summary: List agreement types
description: Lists the agreement types configured in the Analyze environment. Confirmed.
responses:
'200':
description: A list of agreement types.
content:
application/json:
schema:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
components:
parameters:
AgreementId:
name: agreement_id
in: path
required: true
description: The unique identifier (UUID) of the agreement.
schema:
type: string
format: uuid
schemas:
Error:
type: object
properties:
error:
type: string
message:
type: string
responses:
Unauthorized:
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: LinkSquares API key passed as an `x-api-key` header on every request. Keys are self-managed by Administrator users and are shared across the Analyze and Finalize products.