Skribble Additional Information API

Endpoints providing extra metadata or supplementary details for documents.

Operations 3

GET /infos/{id}/validation Get additional information about the validation itself. #
GET /infos/{id}/signers Get additional information about the signers of a validation #
GET /infos/{id}/format Get additional information about the document format #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-signature-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-signature-report-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-update-signature-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-identification-evidence-status-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-document-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-create-signature-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-signature-response-v3-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-signature-recipient-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-document-validation-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-signature-validation-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-billing-credit-usage-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-validation-infos-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-billing-credit-infos-schema.json
📊
JSONSchema
https://artifacts.apis.io/skribble/json-schema/skribble-login-request-schema.json

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/skribble:skribble-additional-information-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

skribble-additional-information-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Skribble Additional Information API
  version: 1.2.4
  contact:
    name: Skribble Engineering
    url: https://skribble.com
    email: support@skribble.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: https://www.skribble.com/en-eu/terms-of-use/
  description: 'Operations tagged Additional Information across 2 of this provider''s published API definitions: skribble-validation-v1-openapi.yml, skribble-validation-v1-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://document-validation.skribble.com/v1
  description: Production - Switzerland
- url: https://document-validation.skribble.de/v1
  description: Production - Germany
security: []
tags:
- name: Additional Information
  description: Endpoints providing extra metadata or supplementary details for documents.
paths:
  /infos/{id}/validation:
    get:
      operationId: getInfosValidation
      tags:
      - Additional Information
      summary: Get additional information about the validation itself.
      security:
      - bearerAuth: []
      parameters:
      - $ref: '#/components/parameters/validateid'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationInfosResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
    servers:
    - url: https://document-validation.skribble.com/v1
      description: Production - Switzerland
    - url: https://document-validation.skribble.de/v1
      description: Production - Germany
  /infos/{id}/signers:
    get:
      operationId: getInfosSigners
      tags:
      - Additional Information
      summary: Get additional information about the signers of a validation
      description: 'Additional information about the people who signed the document. The query

        parameter is the id from the validation endpoint.'
      security:
      - bearerAuth: []
      parameters:
      - $ref: '#/components/parameters/validateid'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignerInfosResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
    servers:
    - url: https://document-validation.skribble.com/v1
      description: Production - Switzerland
    - url: https://document-validation.skribble.de/v1
      description: Production - Germany
  /infos/{id}/format:
    get:
      operationId: getInfosFormat
      tags:
      - Additional Information
      summary: Get additional information about the document format
      security:
      - bearerAuth: []
      parameters:
      - $ref: '#/components/parameters/validateid'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormatInfosResponse'
              examples:
                PDF:
                  $ref: '#/components/examples/FormatPDF'
                XML:
                  $ref: '#/components/examples/FormatXML'
                CMS:
                  $ref: '#/components/examples/FormatCMS'
                PDFA:
                  $ref: '#/components/examples/FormatPDFA'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
    servers:
    - url: https://document-validation.skribble.com/v1
      description: Production - Switzerland
    - url: https://document-validation.skribble.de/v1
      description: Production - Germany
components:
  schemas:
    ProblemResponse:
      title: Problem
      type: object
      description: 'Error response envelope returned for all 4xx and 5xx responses with a JSON body.

        Follows a Problem+JSON-style shape. The `key` field is optional and reserved

        for future use.'
      required:
      - type
      - method
      - path
      - status
      - message
      properties:
        type:
          type: string
          format: uri
          description: 'URI identifying the problem category. The host of this URI depends on

            the environment the request was made against (e.g.

            `document-validation.skribble.com` and `document-validation.skribble.de`

            for the production regions; other environments use their respective

            hosts). Match on the path segment after `/problem/` rather than the full

            URI. Known values:


            - `https://document-validation.skribble.com/problem/problem-with-message` — generic error with a message

            - `https://document-validation.skribble.com/problem/entity-not-found` — requested resource does not exist

            - `https://document-validation.skribble.com/problem/feature-not-enabled` — a required feature is not enabled for the business

            - `https://document-validation.skribble.com/problem/constraint-violation` — request violates a domain constraint

            - `https://document-validation.skribble.com/problem/limit-exceeded` — a usage limit was exceeded'
          example: https://document-validation.skribble.com/problem/problem-with-message
        method:
          type: string
          description: HTTP method of the failing request.
          example: POST
        path:
          type: string
          description: Request URI of the failing request.
          example: /v1/validate/document
        status:
          type: integer
          description: HTTP status code, mirroring the response status line.
          example: 400
        key:
          type: string
          description: Optional machine-readable error key. Reserved for future use.
        message:
          type: string
          description: Human-readable error message.
          example: Document could not be parsed
    Signer:
      type: object
      properties:
        valid:
          type: boolean
          example: true
        signer:
          type: string
          example: john.doe@acme.org
        time:
          type: string
          format: date-time
          example: '2018-11-28T11:51:58.637Z'
        quality:
          type: string
          example: QES
        legislation:
          type: string
          example: CH
        longTermValidation:
          type: boolean
          example: true
        visualDifferences:
          type: boolean
          example: true
        undefinedChanges:
          type: boolean
          example: true
        certificate:
          $ref: '#/components/schemas/SignerCertificate'
        optionalInfos:
          $ref: '#/components/schemas/OptionalSignerInfos'
    ValidationInfosResponse:
      type: object
      properties:
        indication:
          type: string
          example: TOTAL-FAILED
        subIndication:
          type: string
          example: HASH_FAILURE
        details:
          type: array
          items:
            type: string
          example:
          - The certificate validation is not conclusive!
          - The current time is not in the validity range of the signer's certificate!
          - The signature is not intact!
    OptionalSignerInfos:
      type: object
      properties:
        name:
          type: string
          example: John Doe
        contact:
          type: string
          example: john.doe@acme.org
        location:
          type: string
          example: Zurich, Switzerland
        reason:
          type: string
          example: john.doe@acme.org digitally signed on skribble.com
    SignerCertificate:
      type: object
      properties:
        subject:
          type: string
          example: CN=John Doe, C=CH, SerialNumber=RAS64084aeaf178c31a
        issuer:
          type: string
          example: CN=Swisscom Diamant CA 4, OU=Digital Certificate Services, O=Swisscom (Schweiz) AG, C=ch
        serialNumber:
          type: string
          example: '160038991315232382650416191585425640265'
    SignerInfosResponse:
      type: array
      items:
        $ref: '#/components/schemas/Signer'
    FormatInfosResponse:
      type: object
      properties:
        fileType:
          type: string
          description: File Type
        quality:
          type: string
          description: (Optional) File Type Quality
        producer:
          type: string
          description: (Optional) File producer
  examples:
    FormatXML:
      summary: Sample XML/XAdES
      value:
        fileType: XML
    FormatPDFA:
      summary: Sample PDF/A
      value:
        fileType: PDF
        quality: PDF/A-2A
        producer: Acrobat Distiller 6.0 (Windows)
    FormatCMS:
      summary: Sample CMS/CAdES
      value:
        fileType: CMS
    FormatPDF:
      summary: Sample PDF/PAdES
      value:
        fileType: PDF
        producer: Acrobat Distiller 6.0 (Windows)
  responses:
    NotFound:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemResponse'
          example:
            type: https://document-validation.skribble.com/problem/entity-not-found
            method: GET
            path: /v1/infos/00000000-0000-0000-0000-000000000000/validation
            status: 404
            message: Resource not found
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemResponse'
          example:
            type: https://document-validation.skribble.com/problem/feature-not-enabled
            method: POST
            path: /v1/validate/document
            status: 403
            message: Validation API access is not enabled for this business
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemResponse'
          example:
            type: https://document-validation.skribble.com/problem/problem-with-message
            method: GET
            path: /v1/validate/document
            status: 401
            message: Authentication required
    ServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemResponse'
          example:
            type: https://document-validation.skribble.com/problem/problem-with-message
            method: POST
            path: /v1/validate/document
            status: 500
            message: Internal server error
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemResponse'
          example:
            type: https://document-validation.skribble.com/problem/problem-with-message
            method: POST
            path: /v1/validate/document
            status: 400
            message: Document could not be parsed
    TooManyRequests:
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemResponse'
          example:
            type: https://document-validation.skribble.com/problem/problem-with-message
            method: POST
            path: /v1/validate/document
            status: 429
            message: Too many requests
    ServiceUnavailable:
      description: Service unavailable
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemResponse'
          example:
            type: https://document-validation.skribble.com/problem/problem-with-message
            method: POST
            path: /v1/validate/document
            status: 503
            message: Service unavailable
  parameters:
    validateid:
      name: id
      in: path
      required: true
      description: The 'id' provided by the validate operation
      schema:
        type: string
        format: uuid
        default: 3fa85f64-5717-4562-b3fc-2c963f66afa6
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-refined-from:
- skribble-validation-v1-openapi.yml
- skribble-validation-v1-openapi.yml