JuriSign · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the JuriSign API

10 actions 10 updates update extends ../openapi/jurisign-api-openapi.yml
Derived by API Evangelist Built from the contracts JuriSign publishes. JuriSign did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-agentic-accessx-notetermsOfServicex-privacy-policyx-dpax-eidasx-data-residencyx-operator

Targets 10

$.info
$.servers
$.components.securitySchemes.bearerAuth
$.paths['/sign-requests'].post
$.paths['/sign-requests/{id}/send'].post
$.paths['/sign-requests/{id}/cancel'].post
$.paths['/documents/{id}'].delete
$.paths['/bulk-campaigns/{id}/launch'].post
$.paths['/webhooks'].post
$.paths['/auth/sandbox-token'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the JuriSign API
  version: 1.0.0
extends: ../openapi/jurisign-api-openapi.yml
x-generated: '2026-08-31'
x-method: generated
x-source: >-
  Derived from JuriSign's own published documentation (developer page, integration guide, pricing page and GDPR
  Article 28 annex) plus the repository artifacts. Every value below is traceable to a published statement; nothing
  is asserted that JuriSign does not say. The original spec is never mutated.
actions:
- target: $.info
  description: >-
    Record the machine-readable facts JuriSign publishes outside the contract - the eIDAS level and its explicit
    limit, the terms/privacy locations, and the pointers to our derived artifacts.
  update:
    termsOfService: https://www.jurisign.fr/cgu
    x-privacy-policy: https://www.jurisign.fr/confidentialite
    x-dpa: https://www.jurisign.fr/sous-traitance
    x-eidas:
      regulation: (EU) No 910/2014
      level: SES
      qualified_trust_service_provider: false
      advanced_or_qualified_signatures: false
      source: https://www.jurisign.fr/sous-traitance
    x-data-residency:
      region: EU
      transfers_outside_eu: false
      sub_processors:
      - {name: IONOS SARL, role: hosting and transactional mail, location: EU}
      - {name: OVHcloud, role: SMS routing, location: EU}
      - {name: Brevo (Sendinblue SAS), role: mail failover, location: EU}
      source: https://www.jurisign.fr/sous-traitance
    x-operator:
      legal_entity: PCFRANCE
      siret: '392 232 054 00040'
      country: FR
    x-artifacts:
      conventions: conventions/jurisign-conventions.yml
      errors: errors/jurisign-problem-types.yml
      rate_limits: rate-limits/jurisign-rate-limits.yml
      scopes: scopes/jurisign-scopes.yml
      sandbox: sandbox/jurisign-sandbox.yml
      webhooks: asyncapi/jurisign-webhooks.yml
      data_model: data-model/jurisign-data-model.yml
- target: $.servers
  description: >-
    The spec ships a single server on the apex host. The apex 301-redirects to www, and every published example on
    the developer page uses www, so record www as an equivalent host rather than replacing the provider's own value.
  update:
  - url: https://jurisign.fr/api/v1
    description: Production (also serves sandbox requests - see POST /auth/sandbox-token)
  - url: https://www.jurisign.fr/api/v1
    description: >-
      Canonical www host. The apex issues a 301 to this host for every path; the developer page and integration
      guide use it in all curl examples.
- target: $.components.securitySchemes.bearerAuth
  description: Record the scope vocabulary the token carries, which the scheme itself does not express.
  update:
    x-token-scopes:
    - documents:read
    - documents:write
    - sign-requests:read
    - sign-requests:write
    - webhooks:manage
    x-scope-default: all five when `scopes` is omitted on POST /auth/token
    x-scope-failure-status: 403
    x-token-modes:
    - {mode: live, prefix: none, issued_by: POST /auth/token}
    - {mode: sandbox, prefix: sandbox_, issued_by: POST /auth/sandbox-token}
    x-mixing-modes-status: 401
- target: $.paths['/sign-requests'].post
  description: >-
    Mark the consequence profile of the one operation that carries an Idempotency-Key, and record that creation is
    silent - the single most-reported integration mistake in JuriSign's own guide.
  update:
    x-agentic-access:
      action_class: write
      consequence: none-until-send
      reversible: true
      reversal_operation: none required - an unsent request is inert
      idempotent: true
      idempotency_header: Idempotency-Key
      idempotency_retention: 24h
      escalation: none
    x-notification-side-effect: false
    x-note: >-
      Creates in `draft`. No email or SMS is sent and no credit is spent until sendSignRequest is called, or unless
      auto_send is set on this call.
- target: $.paths['/sign-requests/{id}/send'].post
  description: Mark the consequential boundary of the API.
  update:
    x-agentic-access:
      action_class: write
      consequence: high
      consequence_detail: >-
        Spends a signature credit and delivers real email or SMS to named third parties. Billable and externally
        visible.
      reversible: true
      reversal_operation: cancelSignRequest
      reversal_window: while status is `pending` only
      idempotent: false
      escalation: recommend-human-approval
- target: $.paths['/sign-requests/{id}/cancel'].post
  description: Record the state window in which this reversal works.
  update:
    x-agentic-access:
      action_class: write
      consequence: medium
      reversible: false
      reversal_window_note: Only requests in `pending` status can be cancelled; a completed signature is final.
- target: $.paths['/documents/{id}'].delete
  update:
    x-agentic-access:
      action_class: delete
      consequence: medium
      reversible: false
      precondition: status must be `draft`
- target: $.paths['/bulk-campaigns/{id}/launch'].post
  description: Bulk send is the highest-consequence operation in the API - it fans out to every recipient at once.
  update:
    x-agentic-access:
      action_class: write
      consequence: high
      consequence_detail: Sends to every recipient in the campaign and spends one credit per recipient.
      reversible: true
      reversal_operation: cancelBulkCampaign
      reversal_window: while the campaign is running
      escalation: require-human-approval
- target: $.paths['/webhooks'].post
  update:
    x-secret-shown-once: true
    x-signature-algorithm: HMAC-SHA256
    x-signature-header: X-Jurisign-Signature
    x-retry-policy: 8 attempts over ~42 hours
    x-note: >-
      The developer page and the older integration guide disagree on the header name (X-Jurisign-Signature vs
      X-Signature) and on the retry policy (8/~42h vs 3 attempts at 1/5/30 min). Both are published; recorded as a
      conflict rather than silently resolved.
- target: $.paths['/auth/sandbox-token'].post
  update:
    x-agentic-access:
      action_class: read
      consequence: none
      reversible: true
      reversal_operation: revokeToken
    x-recommended-for-agents: true
    x-note: The safe default for any unattended caller - identical responses, no messages sent, no credits spent.

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • 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 overlay
curl "https://apis.io/api/v1/overlays/jurisign-api-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.