Opoint Agreements API

The agreements API from Opoint — 4 operation(s) for agreements.

Operations 4

GET /agreements/ List agreements #
GET /agreements/{id} Agreement's detail #
GET /agreements/{id}/sites Agreement's sites #
GET /agreements/{id}/sources Agreement's single sources #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/opoint:opoint-agreements-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

opoint-agreements-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Opoint Agreements API
  version: 1.0.0
  description: 'Operations tagged agreements across 2 of this provider''s published API definitions: opoint-openapi-original.yml, opoint-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.opoint.com
tags:
- name: Agreements
paths:
  /agreements/:
    get:
      operationId: agreements_list
      description: An agreement is one site tag's sites and single sources, on one licence configuration. It is named by its tag, so agreements on one tag share a name; `label` tells them apart. Agreements are edited in the toolkit, not through the API.
      summary: List agreements
      parameters:
      - in: query
        name: search_string
        schema:
          type: string
        description: Search for agreements by name or description
      tags:
      - Agreements
      security:
      - JWT: []
      - ephmeralId: []
      - staticToken: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AgreementList'
          description: ''
    servers:
    - url: https://api.opoint.com
  /agreements/{id}:
    get:
      operationId: agreements_retrieve
      description: The agreement with its site tag (and the other agreements on it), its licence configuration (and the other agreements sharing it), and any scoped configurations. Its sites and sources are listed by the `sites` and `sources` endpoints.
      summary: Agreement's detail
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Agreements
      security:
      - JWT: []
      - ephmeralId: []
      - staticToken: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agreement'
          description: ''
    servers:
    - url: https://api.opoint.com
  /agreements/{id}/sites:
    get:
      operationId: agreements_sites_list
      description: The sites on the agreement's tag, by name.
      summary: Agreement's sites
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      - in: query
        name: search
        schema:
          type: string
        description: Only those whose name contains this
      tags:
      - Agreements
      security:
      - JWT: []
      - ephmeralId: []
      - staticToken: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AgreementSite'
          description: ''
    servers:
    - url: https://api.opoint.com
  /agreements/{id}/sources:
    get:
      operationId: agreements_sources_list
      description: Sources the agreement grants on their own, on top of its sites, for when only part of a site is covered.
      summary: Agreement's single sources
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      - in: query
        name: search
        schema:
          type: string
        description: Only those whose name contains this
      tags:
      - Agreements
      security:
      - JWT: []
      - ephmeralId: []
      - staticToken: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AgreementSource'
          description: ''
    servers:
    - url: https://api.opoint.com
components:
  schemas:
    AgreementList:
      type: object
      properties:
        id_agreement:
          type: integer
          readOnly: true
        name:
          type: string
          readOnly: true
          description: The site tag's name. Agreements on one tag share it; when exposed, customers see it as the licence name of its sites.
        label:
          type: string
          readOnly: true
          description: The name followed by the licence configuration's name, which tells same-named agreements apart.
        description:
          type:
          - string
          - 'null'
          readOnly: true
        priority:
          type: integer
          readOnly: true
          description: '1 or more: the licence configuration overrides the sites'' own licences. 0: the two are combined.'
        expose:
          type: boolean
          readOnly: true
          description: Whether customers see the name as the licence name of its sites.
        tag:
          oneOf:
          - $ref: '#/components/schemas/AgreementTagRef'
          - type: 'null'
          readOnly: true
        licence_configuration:
          oneOf:
          - $ref: '#/components/schemas/LicenseConfigurationRef'
          - type: 'null'
          readOnly: true
          description: null when the agreement only grants access, and the sites' own licences apply.
        site_count:
          type: integer
          readOnly: true
        source_count:
          type: integer
          readOnly: true
          description: Single sources, on top of the sites.
        customers:
          type: integer
          readOnly: true
          description: Customers with an active, non-staff user holding the agreement, of their own or inherited. Counted hourly.
        created:
          type: string
          format: date-time
          readOnly: true
        last_change:
          type: string
          format: date-time
          readOnly: true
      required:
      - created
      - customers
      - description
      - expose
      - id_agreement
      - label
      - last_change
      - licence_configuration
      - name
      - priority
      - site_count
      - source_count
      - tag
    AgreementAccessGroup:
      type: object
      properties:
        access_groups:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        name:
          type: string
          maxLength: 255
      required:
      - access_groups
    Agreement:
      type: object
      properties:
        id_agreement:
          type: integer
          readOnly: true
        name:
          type: string
          readOnly: true
          description: The site tag's name. Agreements on one tag share it; when exposed, customers see it as the licence name of its sites.
        label:
          type: string
          readOnly: true
          description: The name followed by the licence configuration's name, which tells same-named agreements apart.
        description:
          type:
          - string
          - 'null'
          readOnly: true
        priority:
          type: integer
          readOnly: true
          description: '1 or more: the licence configuration overrides the sites'' own licences. 0: the two are combined.'
        expose:
          type: boolean
          readOnly: true
          description: Whether customers see the name as the licence name of its sites.
        tag:
          oneOf:
          - $ref: '#/components/schemas/AgreementTag'
          - type: 'null'
          readOnly: true
        licence_configuration:
          oneOf:
          - $ref: '#/components/schemas/LicenseConfiguration'
          - type: 'null'
          readOnly: true
          description: null when the agreement only grants access, and the sites' own licences apply.
        site_count:
          type: integer
          readOnly: true
        source_count:
          type: integer
          readOnly: true
          description: Single sources, on top of the sites.
        customers:
          type: integer
          readOnly: true
          description: Customers with an active, non-staff user holding the agreement, of their own or inherited. Counted hourly.
        created:
          type: string
          format: date-time
          readOnly: true
        last_change:
          type: string
          format: date-time
          readOnly: true
        scoped_licence_configurations:
          type: array
          items:
            $ref: '#/components/schemas/ScopedLicenseConfiguration'
          readOnly: true
          description: Configurations linked with a scope. Not evaluated anywhere yet.
      required:
      - created
      - customers
      - description
      - expose
      - id_agreement
      - label
      - last_change
      - licence_configuration
      - name
      - priority
      - scoped_licence_configurations
      - site_count
      - source_count
      - tag
    ScopedLicenseConfiguration:
      type: object
      properties:
        scope:
          type: string
          readOnly: true
        licence_configuration:
          allOf:
          - $ref: '#/components/schemas/LicenseConfigurationRef'
          readOnly: true
      required:
      - licence_configuration
      - scope
    SummarizerParamField:
      type: object
      description: Serializer describing the SummarizerParamField
      properties:
        type:
          type: integer
        number_of_sentences:
          type: integer
        max_percentage_of_characters_to_show:
          type: integer
        max_number_of_words_to_show:
          type: integer
      required:
      - max_number_of_words_to_show
      - max_percentage_of_characters_to_show
      - number_of_sentences
      - type
    AgreementRef:
      type: object
      description: 'An agreement mentioned by another: on the same tag, or sharing a configuration.'
      properties:
        id_agreement:
          type: integer
          readOnly: true
        name:
          type: string
          readOnly: true
          description: The agreement's site tag's name.
        label:
          type: string
          readOnly: true
          description: The name followed by the licence configuration's name, which tells same-named agreements apart.
      required:
      - id_agreement
      - label
      - name
    LicenseConfigurationRef:
      type: object
      properties:
        id_license_configuration:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
      required:
      - id_license_configuration
    SummarizerParam:
      type: object
      properties:
        license:
          $ref: '#/components/schemas/SummarizerParamField'
        report_license:
          $ref: '#/components/schemas/SummarizerParamField'
        mail_license:
          $ref: '#/components/schemas/SummarizerParamField'
        share_license:
          $ref: '#/components/schemas/SummarizerParamField'
      required:
      - license
      - mail_license
      - report_license
      - share_license
    LicenseConfiguration:
      type: object
      properties:
        id_license_configuration:
          type: integer
          readOnly: true
        name:
          type: string
          readOnly: true
        description:
          type:
          - string
          - 'null'
          readOnly: true
        summarizer_param:
          oneOf:
          - $ref: '#/components/schemas/SummarizerParam'
          - type: 'null'
          readOnly: true
        max_archive_age:
          type:
          - integer
          - 'null'
          readOnly: true
        max_free_search_age:
          type:
          - integer
          - 'null'
          readOnly: true
        licence:
          type: integer
          readOnly: true
        licence_share:
          type: integer
          readOnly: true
        licence_mail:
          type: integer
          readOnly: true
        licence_report:
          type: integer
          readOnly: true
        licence_enforce:
          type: integer
          readOnly: true
        licence_enforce_share:
          type: integer
          readOnly: true
        licence_enforce_mail:
          type: integer
          readOnly: true
        licence_enforce_report:
          type: integer
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        last_change:
          type: string
          format: date-time
          readOnly: true
        agreements:
          type: array
          items:
            $ref: '#/components/schemas/AgreementRef'
          readOnly: true
          description: Every agreement using this configuration. Editing it changes them all.
      required:
      - agreements
      - created
      - description
      - id_license_configuration
      - last_change
      - licence
      - licence_enforce
      - licence_enforce_mail
      - licence_enforce_report
      - licence_enforce_share
      - licence_mail
      - licence_report
      - licence_share
      - max_archive_age
      - max_free_search_age
      - name
      - summarizer_param
    AgreementTagRef:
      type: object
      properties:
        id_sitetag:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        access_group:
          oneOf:
          - $ref: '#/components/schemas/AgreementAccessGroup'
          - type: 'null'
          readOnly: true
          description: The legacy access group kept in step with this tag, if any. One tag has one at most.
      required:
      - access_group
      - id_sitetag
      - name
    AgreementSource:
      type: object
      properties:
        id_source:
          type: integer
          readOnly: true
        name:
          type: string
          readOnly: true
        url:
          type: string
          readOnly: true
        id_site:
          type: integer
          readOnly: true
      required:
      - id_site
      - id_source
      - name
      - url
    AgreementTag:
      type: object
      properties:
        id_sitetag:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        access_group:
          oneOf:
          - $ref: '#/components/schemas/AgreementAccessGroup'
          - type: 'null'
          readOnly: true
          description: The legacy access group kept in step with this tag, if any. One tag has one at most.
        agreements:
          type: array
          items:
            $ref: '#/components/schemas/AgreementRef'
          readOnly: true
          description: Every agreement on this tag. Its sites and sources are theirs too.
      required:
      - access_group
      - agreements
      - id_sitetag
      - name
    AgreementSite:
      type: object
      properties:
        id_site:
          type: integer
          readOnly: true
        name:
          type: string
          readOnly: true
        url:
          type:
          - string
          - 'null'
          readOnly: true
      required:
      - id_site
      - name
      - url
  securitySchemes:
    JWT:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "JWT"
    cookieAuth:
      type: apiKey
      in: cookie
      name: PHPSESSID
    ephmeralId:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Ephemeral"
    staticToken:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"
x-refined-from:
- opoint-openapi-original.yml
- opoint-openapi.yml