Trelica Contracts API

Manage software contracts and renewals

OpenAPI Specification

trelica-contracts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Trelica REST Application Users Contracts API
  description: The Trelica REST API provides programmatic access to the core areas of the Trelica SaaS management platform, including applications, people, contracts, workflows, assets, audit logs, and user management via SCIM. The API uses OAuth 2.0 with either Client Credentials (for integrations) or Authorization Code flow (for third-party developer apps). Trelica is now part of 1Password SaaS Manager.
  version: 1.0.0
  contact:
    name: Trelica Support
    url: https://help.trelica.com/hc/en-us
  license:
    name: Proprietary
  termsOfService: https://www.trelica.com/terms
servers:
- url: https://app.trelica.com/api
  description: Production (US)
- url: https://eu.trelica.com/api
  description: Production (EU)
security:
- OAuth2ClientCredentials: []
- OAuth2AuthorizationCode: []
tags:
- name: Contracts
  description: Manage software contracts and renewals
paths:
  /contracts/v1:
    get:
      operationId: listContracts
      summary: List Contracts
      description: Returns a paginated list of software contracts managed in Trelica.
      tags:
      - Contracts
      parameters:
      - name: q
        in: query
        description: Free-text search across contract name and vendor
        schema:
          type: string
      - name: since
        in: query
        description: Filter contracts modified after this date/time
        schema:
          type: string
          format: date-time
      - name: after
        in: query
        description: Pagination cursor
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of results (default 100)
        schema:
          type: integer
          default: 100
      responses:
        '200':
          description: List of contracts
          content:
            application/json:
              schema:
                type: object
                properties:
                  next:
                    type: string
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Contract'
        '401':
          description: Unauthorized
      security:
      - OAuth2ClientCredentials:
        - Contracts.Read
  /contracts/v1/{contractId}:
    get:
      operationId: getContract
      summary: Get Contract
      description: Returns details for a specific contract by its ID.
      tags:
      - Contracts
      parameters:
      - name: contractId
        in: path
        required: true
        description: Unique identifier for the contract
        schema:
          type: string
      responses:
        '200':
          description: Contract details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contract'
        '404':
          description: Contract not found
      security:
      - OAuth2ClientCredentials:
        - Contracts.Read
components:
  schemas:
    Contract:
      type: object
      properties:
        id:
          type: string
          description: Unique contract identifier
        name:
          type: string
          description: Contract name
        vendor:
          type: string
          description: Vendor or supplier name
        applicationId:
          type: string
          description: Associated application ID
        startDate:
          type: string
          format: date
          description: Contract start date
        endDate:
          type: string
          format: date
          description: Contract end date/renewal date
        annualValue:
          type: number
          description: Annual contract value
        currency:
          type: string
          description: Currency code (e.g., USD, GBP)
        status:
          type: string
          enum:
          - Active
          - Expired
          - Pending
          - Cancelled
          description: Contract status
        lastModifiedDtm:
          type: string
          format: date-time
          description: Last modification timestamp
  securitySchemes:
    OAuth2ClientCredentials:
      type: oauth2
      description: OAuth 2.0 Client Credentials flow for server-to-server integrations
      flows:
        clientCredentials:
          tokenUrl: https://app.trelica.com/connect/token
          scopes:
            Apps.Read: Read application data
            Apps.Users.Read: Read application user data
            People.Read: Read people data
            People.Write: Create and update people records
            Contracts.Read: Read contract data
            Workflows.Read: Read workflow data
            Assets.Read: Read asset data
            AuditLog.Read: Read audit log entries
            Users.Read: Read users via SCIM
    OAuth2AuthorizationCode:
      type: oauth2
      description: OAuth 2.0 Authorization Code flow for third-party developer apps
      flows:
        authorizationCode:
          authorizationUrl: https://app.trelica.com/connect/authorize
          tokenUrl: https://app.trelica.com/connect/token
          scopes:
            Apps.Read: Read application data
            Apps.Users.Read: Read application user data
            People.Read: Read people data
            People.Write: Create and update people records
            Contracts.Read: Read contract data
            Workflows.Read: Read workflow data
            Assets.Read: Read asset data
            AuditLog.Read: Read audit log entries
            Users.Read: Read users via SCIM