Skip to content

OpenAPI Schema

This page renders from partner-docs/openapi.json.

How to use this page

Treat this schema as authoritative for field shapes, enums, and required properties. For integration semantics and decision handling, prefer the curated guidance in API Reference > Endpoints, API Reference > Assessment Checks and Codes, and API Reference > Errors.

The published schema is filtered for partner use and excludes /v1/admin/* endpoints.

Refresh that file before publishing docs:

uv run python scripts/export_openapi.py

Swiss Company Name Validation API 1.2.1.dev0

API for screening proposed Swiss company names against Swiss registry data, trademark data, and EHRA-oriented naming rules.

Authentication

Use X-API-Key for all public business endpoints. GET /health and GET /version are unauthenticated.

  1. Use /v1/name/assessment for the primary registration-oriented decision on one name.
  2. Use /v1/name/screening when you want assessment, registry conflicts, trademark screening, and optional domain checks in one call.
  3. Use the search endpoints individually when you need raw sub-check outputs.

Notes

  • Successful business endpoints include X-Trace-Id for support and trace correlation.
  • Deprecated .../eligibility endpoints remain available for backwards compatibility, but new integrations should prefer /v1/name/assessment.

System

GET /health

Service health

Description Lightweight readiness/liveness endpoint for load balancers, orchestrators, and uptime checks.

No authentication is required. A healthy instance returns
`{"status": "ok"}` with HTTP 200.

Response 200 OK

application/json

{
    "status": "string"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "status": {
            "type": "string",
            "title": "Status",
            "description": "Health status",
            "default": "ok"
        }
    },
    "type": "object",
    "title": "HealthResponse",
    "description": "Response for GET /health endpoint."
}

GET /version

Build metadata

Description Returns build and deployment metadata such as service version, git SHA, build timestamp, and image reference when available.

Use this endpoint for deployment verification and release traceability.
No authentication is required.

Response 200 OK

application/json

{
    "service": "string",
    "version": "string",
    "git_sha": null,
    "build_time": null,
    "image_ref": null,
    "image_digest": null,
    "environment": null
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "service": {
            "type": "string",
            "title": "Service",
            "description": "Stable service identifier"
        },
        "version": {
            "type": "string",
            "title": "Version",
            "description": "Application semantic version"
        },
        "git_sha": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Git Sha",
            "description": "Git commit SHA of the build"
        },
        "build_time": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Build Time",
            "description": "Build timestamp in ISO 8601 format"
        },
        "image_ref": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Image Ref",
            "description": "Container image reference used for deployment"
        },
        "image_digest": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Image Digest",
            "description": "Container image digest for exact artifact traceability"
        },
        "environment": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Environment",
            "description": "Deployment environment such as dev, staging, or prod"
        }
    },
    "type": "object",
    "required": [
        "service",
        "version"
    ],
    "title": "VersionResponse",
    "description": "Response for GET /version endpoint."
}

POST /v1/conflicts/search

Check company name conflicts

Description Search the Swiss company registry for identical and similar company names that could conflict with a proposed name.

Use this endpoint when you want registry collision data only.

Key response fields:
- `registrable`: `true` only when no exact identity match exists
- `identityMatch`: the exact existing registry hit, if present
- `similarMatches`: visually or phonetically similar names that may still

require review

This endpoint does not decide full registrability under Swiss naming law.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "name": "string",
    "limit": 0,
    "minRisk": "High"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "name": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "title": "Name",
            "description": "Company name to check for conflicts"
        },
        "limit": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Limit",
            "description": "Maximum number of results (1-100)",
            "default": 25
        },
        "minRisk": {
            "$ref": "#/components/schemas/RiskLevelParam",
            "description": "Minimum risk level filter (inclusive of specified level and higher)",
            "default": "Low"
        }
    },
    "type": "object",
    "required": [
        "name"
    ],
    "title": "SearchRequest",
    "description": "Request body for POST /v1/conflicts/search.\n\nAttributes:\n    name: Original company name to check (required).\n    limit: Maximum results to return (1-100, default 25).\n    minRisk: Minimum risk level filter, inclusive of higher levels.",
    "examples": [
        {
            "limit": 25,
            "minRisk": "Low",
            "name": "Müller & Söhne AG"
        }
    ]
}

Response 200 OK

application/json

{
    "input": {
        "name": "string",
        "nameNorm": "string",
        "nameCore": "string",
        "phoneticPrimary": "string",
        "phoneticAlt": "string"
    },
    "registrable": true,
    "identityMatch": null,
    "similarMatches": [
        {
            "sourceCompanyId": "string",
            "nameDisplay": "string",
            "legalSeat": null,
            "nameNorm": "string",
            "visualScore": 10.12,
            "phoneticMatch": true,
            "risk": "High"
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "input": {
            "$ref": "#/components/schemas/SearchInputEcho",
            "description": "Echoed and normalized input"
        },
        "registrable": {
            "type": "boolean",
            "title": "Registrable",
            "description": "True if no identity match exists (name can potentially be registered)"
        },
        "identityMatch": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/IdentityMatchResponse"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The identity match if one exists, otherwise null"
        },
        "similarMatches": {
            "items": {
                "$ref": "#/components/schemas/SimilarMatchResponse"
            },
            "type": "array",
            "title": "Similarmatches",
            "description": "List of similar matches ordered by risk"
        }
    },
    "type": "object",
    "required": [
        "input",
        "registrable",
        "identityMatch",
        "similarMatches"
    ],
    "title": "SearchResponse",
    "description": "Response body for successful conflict search.\n\nSeparates legal identity (OR Art. 951) from confusion risk (OR Art. 956):\n- identityMatch: Legally identical name → automatic rejection\n- similarMatches: Similar names → requires human assessment",
    "examples": [
        {
            "input": {
                "name": "Müller & Söhne AG",
                "nameCore": "mueller soehne",
                "nameNorm": "mueller soehne",
                "phoneticAlt": "MLRS",
                "phoneticPrimary": "MLRS"
            },
            "registrable": true,
            "similarMatches": [
                {
                    "legalSeat": "Zürich",
                    "nameDisplay": "Mueller und Soehne GmbH",
                    "nameNorm": "mueller soehne",
                    "phoneticMatch": true,
                    "risk": "High",
                    "sourceCompanyId": "CHE101835433",
                    "visualScore": 0.85
                }
            ]
        }
    ]
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

POST /v1/consumer/company-search

Search company conflicts for checkname.ch

Description Consumer-oriented company search endpoint for checkname.ch.

This endpoint reuses the same Postgres-backed conflict search logic as
`/v1/conflicts/search`, but returns a flattened result shape tailored to the
current web-app flow where the full results are persisted in Convex and the
preview is derived server-side.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "name": "string",
    "limit": 0,
    "minRisk": "High"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "name": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "title": "Name",
            "description": "Company name to check for conflicts"
        },
        "limit": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Limit",
            "description": "Maximum number of displayable company results to return",
            "default": 100
        },
        "minRisk": {
            "$ref": "#/components/schemas/RiskLevelParam",
            "description": "Minimum risk level filter (inclusive of specified level and higher)",
            "default": "Low"
        }
    },
    "type": "object",
    "required": [
        "name"
    ],
    "title": "ConsumerCompanySearchRequest",
    "description": "Request body for POST /v1/consumer/company-search.",
    "examples": [
        {
            "limit": 100,
            "minRisk": "Low",
            "name": "Muller Soehne GmbH"
        }
    ]
}

Response 200 OK

application/json

{
    "input": {
        "name": "string",
        "nameNorm": "string",
        "nameCore": "string",
        "phoneticPrimary": "string",
        "phoneticAlt": "string"
    },
    "summary": {
        "registrable": true,
        "hasIdentityMatch": true,
        "totalResults": 0
    },
    "fullResults": [
        {
            "doc_id": "string",
            "name": "string",
            "registry": "string",
            "strategies": [
                "string"
            ],
            "uid": "string",
            "link": "string",
            "companyType": "string",
            "legalSeat": null,
            "nameNorm": "string",
            "visualScore": null,
            "phoneticMatch": null,
            "risk": null,
            "matchType": "string"
        }
    ],
    "identityMatch": null
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "input": {
            "$ref": "#/components/schemas/SearchInputEcho",
            "description": "Echoed and normalized input"
        },
        "summary": {
            "$ref": "#/components/schemas/ConsumerCompanySearchSummary",
            "description": "Consumer-friendly summary of the company search result"
        },
        "fullResults": {
            "items": {
                "$ref": "#/components/schemas/ConsumerCompanySearchResult"
            },
            "type": "array",
            "title": "Fullresults",
            "description": "Flattened company rows for full-result persistence in the web app"
        },
        "identityMatch": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/IdentityMatchResponse"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Separate legal identity match payload for downstream logic"
        }
    },
    "type": "object",
    "required": [
        "input",
        "summary",
        "fullResults",
        "identityMatch"
    ],
    "title": "ConsumerCompanySearchResponse",
    "description": "Response body for POST /v1/consumer/company-search."
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

POST /v1/trademarks/search

Search registered trademarks

Description Search the ingested trademark dataset for potentially similar verbal marks.

Use this endpoint when you want trademark screening only.

Matching combines normalized text similarity, phonetic similarity, and
optional Nice class overlap context. Returned risk levels are screening
guidance, not a formal legal clearance opinion.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "query": "string",
    "limit": 0,
    "minRisk": "High",
    "niceClasses": null
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "query": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "title": "Query",
            "description": "Trademark text to search for similar existing trademarks"
        },
        "limit": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Limit",
            "description": "Maximum number of results (1-100)",
            "default": 25
        },
        "minRisk": {
            "$ref": "#/components/schemas/RiskLevelParam",
            "description": "Minimum risk level filter (inclusive of specified level and higher)",
            "default": "Low"
        },
        "niceClasses": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Niceclasses",
            "description": "Optional intended Nice classes (values 1-45)"
        }
    },
    "type": "object",
    "required": [
        "query"
    ],
    "title": "TrademarkSearchRequest",
    "description": "Request body for POST /v1/trademarks/search.\n\nAttributes:\n    query: Proposed trademark text to compare against registered trademarks.\n    limit: Maximum results to return (1-100, default 25).\n    minRisk: Minimum risk level filter, inclusive of higher levels.\n    niceClasses: Optional intended Nice classes (1-45) to weight overlap.",
    "examples": [
        {
            "limit": 20,
            "minRisk": "Low",
            "niceClasses": [
                35,
                42
            ],
            "query": "Mueller Soehne"
        }
    ]
}

Response 200 OK

application/json

{
    "input": {
        "query": "string",
        "queryNorm": "string",
        "queryCore": "string",
        "phoneticPrimary": "string",
        "phoneticAlt": "string",
        "niceClasses": [
            0
        ]
    },
    "goodsServicesBasis": "string",
    "similarMatches": [
        {
            "sourceRecordId": "string",
            "registrationNumber": null,
            "applicationNumberText": null,
            "markText": null,
            "markTextNorm": "string",
            "status": null,
            "niceClasses": [
                0
            ],
            "classOverlap": [
                0
            ],
            "relatedClassOverlap": [
                0
            ],
            "visualScore": 10.12,
            "phoneticMatch": true,
            "matchBasis": [
                "string"
            ],
            "risk": "High"
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "input": {
            "$ref": "#/components/schemas/TrademarkSearchInputEcho",
            "description": "Echoed and normalized input"
        },
        "goodsServicesBasis": {
            "type": "string",
            "title": "Goodsservicesbasis",
            "description": "Goods/services context basis: 'nice_classes' or 'unspecified'"
        },
        "similarMatches": {
            "items": {
                "$ref": "#/components/schemas/TrademarkSimilarMatchResponse"
            },
            "type": "array",
            "title": "Similarmatches",
            "description": "List of similar trademark matches ordered by risk"
        }
    },
    "type": "object",
    "required": [
        "input",
        "goodsServicesBasis",
        "similarMatches"
    ],
    "title": "TrademarkSearchResponse",
    "description": "Response body for POST /v1/trademarks/search."
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

POST /v1/consumer/trademark-search

Search trademarks with consumer response shape

Description Search the trademark dataset and return a flattened consumer-oriented response that separates exact textual matches from other similar marks.

This endpoint is intended for direct web-app consumption. Use it when you

want one payload with: - summary.hasIdenticalMatches - identicalMatches - similarMatches - fullResults

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "query": "string",
    "limit": 0,
    "minRisk": "High",
    "niceClasses": null
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "query": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "title": "Query",
            "description": "Trademark text to search for identical and similar registered trademarks"
        },
        "limit": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Limit",
            "description": "Maximum number of displayable trademark results to return",
            "default": 100
        },
        "minRisk": {
            "$ref": "#/components/schemas/RiskLevelParam",
            "description": "Minimum risk level filter (inclusive of specified level and higher)",
            "default": "Low"
        },
        "niceClasses": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Niceclasses",
            "description": "Optional intended Nice classes (values 1-45)"
        }
    },
    "type": "object",
    "required": [
        "query"
    ],
    "title": "ConsumerTrademarkSearchRequest",
    "description": "Request body for POST /v1/consumer/trademark-search.",
    "examples": [
        {
            "limit": 100,
            "minRisk": "Low",
            "niceClasses": [
                35,
                42
            ],
            "query": "Mueller Soehne"
        }
    ]
}

Response 200 OK

application/json

{
    "input": {
        "query": "string",
        "queryNorm": "string",
        "queryCore": "string",
        "phoneticPrimary": "string",
        "phoneticAlt": "string",
        "niceClasses": [
            0
        ]
    },
    "summary": {
        "hasIdenticalMatches": true,
        "identicalMatchCount": 0,
        "similarMatchCount": 0,
        "totalResults": 0,
        "goodsServicesBasis": "string"
    },
    "identicalMatches": [
        {
            "doc_id": "string",
            "sourceRecordId": "string",
            "name": "string",
            "database": "string",
            "strategies": [
                "string"
            ],
            "class": "string",
            "link": "string",
            "status": null,
            "registrationNumber": null,
            "applicant": "string",
            "registrationDate": null,
            "applicationDate": null,
            "expiryDate": null,
            "markFeatureCategory": null,
            "score": 10.12,
            "visualScore": null,
            "phoneticMatch": null,
            "risk": null,
            "matchType": "string",
            "matchBasis": [
                "string"
            ],
            "classOverlap": [
                0
            ],
            "relatedClassOverlap": [
                0
            ]
        }
    ],
    "similarMatches": null,
    "fullResults": null
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "input": {
            "$ref": "#/components/schemas/TrademarkSearchInputEcho",
            "description": "Echoed and normalized input"
        },
        "summary": {
            "$ref": "#/components/schemas/ConsumerTrademarkSearchSummary",
            "description": "Consumer-friendly summary of the trademark search result"
        },
        "identicalMatches": {
            "items": {
                "$ref": "#/components/schemas/ConsumerTrademarkSearchResult"
            },
            "type": "array",
            "title": "Identicalmatches",
            "description": "Exact textual trademark matches"
        },
        "similarMatches": {
            "items": {
                "$ref": "#/components/schemas/ConsumerTrademarkSearchResult"
            },
            "type": "array",
            "title": "Similarmatches",
            "description": "Non-identical similar trademark matches"
        },
        "fullResults": {
            "items": {
                "$ref": "#/components/schemas/ConsumerTrademarkSearchResult"
            },
            "type": "array",
            "title": "Fullresults",
            "description": "Flattened trademark rows for full-result persistence in the web app"
        }
    },
    "type": "object",
    "required": [
        "input",
        "summary",
        "fullResults"
    ],
    "title": "ConsumerTrademarkSearchResponse",
    "description": "Response body for POST /v1/consumer/trademark-search."
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Pro Analysis

POST /v1/pro/absolute-grounds

Run Pro absolute-grounds analysis

Description Compute the absolute-grounds section used by Checkname Pro.

This endpoint is intentionally compute-only. It does not create, own, or

persist user analyses; those product concerns stay in the application layer.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "wordmark": "string",
    "markType": "word_mark",
    "goodsServicesDescription": "string",
    "niceClasses": [
        "string"
    ],
    "language": "de"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "wordmark": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "title": "Wordmark"
        },
        "markType": {
            "$ref": "#/components/schemas/ProMarkType"
        },
        "goodsServicesDescription": {
            "type": "string",
            "maxLength": 4000,
            "minLength": 1,
            "title": "Goodsservicesdescription"
        },
        "niceClasses": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Niceclasses"
        },
        "language": {
            "$ref": "#/components/schemas/ProTextLanguage",
            "description": "Required response language for generated reasoning text. Supported values: `de`, `en`."
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "wordmark",
        "markType",
        "goodsServicesDescription",
        "language"
    ],
    "title": "ProAbsoluteGroundsRequest",
    "description": "Request body for POST /v1/pro/absolute-grounds.",
    "examples": [
        {
            "goodsServicesDescription": "Mineral water, flavored waters, and non-alcoholic alpine herb beverages; retail services for beverages.",
            "language": "de",
            "markType": "word_mark",
            "niceClasses": [
                "32",
                "35"
            ],
            "wordmark": "Alpenquell"
        }
    ]
}

Response 200 OK

application/json

{
    "rollup": "clear",
    "summary": {},
    "criteria": [
        {
            "key": "string",
            "title": "string",
            "sub": "string",
            "verdict": null,
            "reasoning": "string",
            "legalRefs": [
                "string"
            ],
            "categories": [
                "string"
            ],
            "evidence": null
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "rollup": {
            "$ref": "#/components/schemas/ProAbsoluteGroundsVerdict"
        },
        "summary": {
            "additionalProperties": {
                "type": "string"
            },
            "type": "object",
            "title": "Summary"
        },
        "criteria": {
            "items": {
                "$ref": "#/components/schemas/ProAbsoluteGroundCriterionModel"
            },
            "type": "array",
            "title": "Criteria"
        }
    },
    "type": "object",
    "required": [
        "rollup",
        "summary"
    ],
    "title": "ProAbsoluteGroundsResponse",
    "description": "Response body for POST /v1/pro/absolute-grounds."
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

POST /v1/pro/trademarks/identity-search

Run Pro trademark identity search

Description Return exact trademark identity hits for the Checkname Pro identity table.

This route reuses the shared trademark search service and only adapts the
response shape for the Pro product surface.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "query": "string",
    "niceClasses": [
        0
    ],
    "registers": [
        "IGE_CH"
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "query": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "title": "Query"
        },
        "niceClasses": {
            "items": {
                "type": "integer"
            },
            "type": "array",
            "title": "Niceclasses"
        },
        "registers": {
            "items": {
                "$ref": "#/components/schemas/ProTrademarkRegister"
            },
            "type": "array",
            "title": "Registers"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "query"
    ],
    "title": "ProTrademarkIdentitySearchRequest",
    "description": "Request body for POST /v1/pro/trademarks/identity-search.",
    "examples": [
        {
            "niceClasses": [
                32,
                35
            ],
            "query": "Alpenquell",
            "registers": [
                "IGE_CH"
            ]
        }
    ]
}

Response 200 OK

application/json

{
    "totalCount": 0,
    "hits": [
        {
            "docId": "string",
            "register": "IGE_CH",
            "wordmark": "string",
            "logoUrl": null,
            "niceClasses": [
                "string"
            ],
            "status": "registered",
            "applicationNumber": null,
            "registrationNumber": null,
            "applicationDate": null,
            "registrationDate": null,
            "holder": {
                "name": "string",
                "city": null,
                "country": null
            },
            "link": "string"
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "totalCount": {
            "type": "integer",
            "minimum": 0.0,
            "title": "Totalcount"
        },
        "hits": {
            "items": {
                "$ref": "#/components/schemas/ProTrademarkIdentityHitModel"
            },
            "type": "array",
            "title": "Hits"
        }
    },
    "type": "object",
    "required": [
        "totalCount"
    ],
    "title": "ProTrademarkIdentitySearchResponse",
    "description": "Response body for POST /v1/pro/trademarks/identity-search."
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

POST /v1/pro/similarity-search

Run Pro multi-source similarity search

Description Aggregate Pro similarity hits across trademark, company, and domain sources.

The endpoint may return `state=partial` when one source is unavailable or

not implemented. This preserves usable data for the Pro workflow without making the route responsible for owning the workflow state itself.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "query": "string",
    "niceClasses": [
        0
    ],
    "sources": [
        "trademark"
    ],
    "limitPerSource": 0,
    "domainTlds": [
        "string"
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "query": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "title": "Query"
        },
        "niceClasses": {
            "items": {
                "type": "integer"
            },
            "type": "array",
            "title": "Niceclasses"
        },
        "sources": {
            "items": {
                "$ref": "#/components/schemas/ProSimilaritySource"
            },
            "type": "array",
            "title": "Sources"
        },
        "limitPerSource": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Limitpersource",
            "default": 25
        },
        "domainTlds": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Domaintlds"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "query"
    ],
    "title": "ProSimilaritySearchRequest",
    "description": "Request body for POST /v1/pro/similarity-search.",
    "examples": [
        {
            "domainTlds": [
                "ch",
                "com",
                "swiss"
            ],
            "limitPerSource": 15,
            "niceClasses": [
                32,
                35
            ],
            "query": "Alpenquell",
            "sources": [
                "trademark",
                "company",
                "domain"
            ]
        }
    ]
}

Response 200 OK

application/json

{
    "state": "complete",
    "totalCount": 0,
    "buckets": {
        "high": 0,
        "medium": 0,
        "low": 0
    },
    "hits": [
        {
            "docId": "string",
            "source": "trademark",
            "label": "string",
            "link": "string",
            "context": "string",
            "similarityType": "phonetic",
            "riskLevel": "high",
            "statusText": "string",
            "holderText": "string",
            "categories": [
                "string"
            ]
        }
    ],
    "companyIdentityMatch": null,
    "issues": [
        {
            "source": null,
            "code": "DOMAIN_LABEL_EMPTY",
            "message": "string",
            "retryable": true
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "state": {
            "$ref": "#/components/schemas/ProSimilarityState"
        },
        "totalCount": {
            "type": "integer",
            "minimum": 0.0,
            "title": "Totalcount"
        },
        "buckets": {
            "$ref": "#/components/schemas/ProSimilarityBucketsModel"
        },
        "hits": {
            "items": {
                "$ref": "#/components/schemas/ProSimilarityHitModel"
            },
            "type": "array",
            "title": "Hits"
        },
        "companyIdentityMatch": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProCompanyIdentityHitModel"
                },
                {
                    "type": "null"
                }
            ]
        },
        "issues": {
            "items": {
                "$ref": "#/components/schemas/ProSimilarityIssueModel"
            },
            "type": "array",
            "title": "Issues"
        }
    },
    "type": "object",
    "required": [
        "state",
        "totalCount",
        "buckets"
    ],
    "title": "ProSimilaritySearchResponse",
    "description": "Response body for POST /v1/pro/similarity-search."
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

POST /v1/pro/nice-classes/suggest

Suggest Nice classes for Pro intake

Description Suggest Nice classes from the supplied goods/services description for the Checkname Pro intake workflow.

This endpoint is compute-only and returns a lightweight draft suggestion

that can be accepted or adjusted by the user in the application layer.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "goodsServicesDescription": "string",
    "language": "de"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "goodsServicesDescription": {
            "type": "string",
            "maxLength": 4000,
            "minLength": 1,
            "title": "Goodsservicesdescription"
        },
        "language": {
            "$ref": "#/components/schemas/ProTextLanguage",
            "description": "Required response language for generated rationale text. Supported values: `de`, `en`."
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "goodsServicesDescription",
        "language"
    ],
    "title": "ProNiceClassSuggestionRequest",
    "description": "Request body for POST /v1/pro/nice-classes/suggest.",
    "examples": [
        {
            "goodsServicesDescription": "SaaS software for law firms, document automation tools, and online legal-tech consulting services.",
            "language": "de"
        }
    ]
}

Response 200 OK

application/json

{
    "suggestions": [
        {
            "niceClass": 0,
            "rationale": "string"
        }
    ],
    "sourceRef": "string"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "suggestions": {
            "items": {
                "$ref": "#/components/schemas/ProNiceClassSuggestionModel"
            },
            "type": "array",
            "title": "Suggestions"
        },
        "sourceRef": {
            "type": "string",
            "title": "Sourceref"
        }
    },
    "type": "object",
    "required": [
        "sourceRef"
    ],
    "title": "ProNiceClassSuggestionResponse",
    "description": "Response body for POST /v1/pro/nice-classes/suggest."
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

POST /v1/pro/famous-marks

Run Pro famous-marks check

Description Return famous-mark signals for the Checkname Pro workflow.

This initial Python implementation uses a deterministic seed-list heuristic

and keeps the product workflow state outside the API.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "query": "string",
    "niceClasses": [
        0
    ],
    "goodsServicesDescription": "string",
    "language": "de"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "query": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "title": "Query"
        },
        "niceClasses": {
            "items": {
                "type": "integer"
            },
            "type": "array",
            "title": "Niceclasses"
        },
        "goodsServicesDescription": {
            "type": "string",
            "maxLength": 4000,
            "title": "Goodsservicesdescription",
            "default": ""
        },
        "language": {
            "$ref": "#/components/schemas/ProTextLanguage",
            "description": "Required response language for generated rationale text. Supported values: `de`, `en`."
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "query",
        "language"
    ],
    "title": "ProFamousMarksRequest",
    "description": "Request body for POST /v1/pro/famous-marks.",
    "examples": [
        {
            "goodsServicesDescription": "Coffee capsules, roasted coffee, coffee machines, and online retail services for coffee products.",
            "language": "de",
            "niceClasses": [
                30,
                35
            ],
            "query": "Nespresso Alpine"
        }
    ]
}

Response 200 OK

application/json

{
    "anyMatch": true,
    "totalCount": 0,
    "testedBrands": [
        "string"
    ],
    "sourceRef": "string",
    "hits": [
        {
            "brand": "string",
            "rationale": "string",
            "crossClass": true,
            "triggerType": "identical",
            "categories": [
                "string"
            ]
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "anyMatch": {
            "type": "boolean",
            "title": "Anymatch"
        },
        "totalCount": {
            "type": "integer",
            "minimum": 0.0,
            "title": "Totalcount"
        },
        "testedBrands": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Testedbrands"
        },
        "sourceRef": {
            "type": "string",
            "title": "Sourceref"
        },
        "hits": {
            "items": {
                "$ref": "#/components/schemas/ProFamousMarkHitModel"
            },
            "type": "array",
            "title": "Hits"
        }
    },
    "type": "object",
    "required": [
        "anyMatch",
        "totalCount",
        "sourceRef"
    ],
    "title": "ProFamousMarksResponse",
    "description": "Response body for POST /v1/pro/famous-marks."
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

POST /v1/pro/recommendation

Build Pro recommendation block

Description Build the Pro recommendation and overview blocks from previously computed sections.

This endpoint intentionally accepts section payloads rather than an analysis

ID so the Python API remains a compute service rather than the owner of user workflows.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "absoluteGrounds": null,
    "identity": null,
    "similarity": null,
    "famousMarks": null,
    "language": "de"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "absoluteGrounds": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProAbsoluteGroundsResponse-Input"
                },
                {
                    "type": "null"
                }
            ]
        },
        "identity": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProTrademarkIdentitySearchResponse-Input"
                },
                {
                    "type": "null"
                }
            ]
        },
        "similarity": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProSimilaritySearchResponse-Input"
                },
                {
                    "type": "null"
                }
            ]
        },
        "famousMarks": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProFamousMarksResponse-Input"
                },
                {
                    "type": "null"
                }
            ]
        },
        "language": {
            "$ref": "#/components/schemas/ProTextLanguage",
            "description": "Response language for generated recommendation copy. Supported values: `de`, `en`.",
            "default": "de"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "title": "ProRecommendationRequest",
    "description": "Request body for POST /v1/pro/recommendation.",
    "examples": [
        {
            "absoluteGrounds": {
                "criteria": [
                    {
                        "categories": [
                            "invented_or_arbitrary_element"
                        ],
                        "key": "distinctiveness",
                        "legalRefs": [
                            "MSchG Art. 2 lit. a"
                        ],
                        "reasoning": "The wording is not directly descriptive for the claimed goods/services.",
                        "sub": "MSchG Art. 2 lit. a",
                        "title": "Distinctiveness",
                        "verdict": "clear"
                    }
                ],
                "rollup": "clear",
                "summary": {
                    "text": "No absolute-ground blocker surfaced."
                }
            },
            "famousMarks": {
                "anyMatch": false,
                "hits": [],
                "sourceRef": "llm_v1",
                "testedBrands": [],
                "totalCount": 0
            },
            "identity": {
                "hits": [],
                "totalCount": 0
            },
            "similarity": {
                "buckets": {
                    "high": 1,
                    "low": 0,
                    "medium": 0
                },
                "hits": [
                    {
                        "categories": [
                            "phonetic_similarity",
                            "same_nice_class",
                            "high_risk"
                        ],
                        "context": "Nice classes: 32, 35; basis: phonetic_match, query_prefix_tokens, class_overlap",
                        "docId": "TM-2024-001234",
                        "holderText": "Alpenquelle Getränke AG",
                        "label": "ALPENQUELLE",
                        "link": "/v1/trademarks/TM-2024-001234",
                        "riskLevel": "high",
                        "similarityType": "phonetic",
                        "source": "trademark",
                        "statusText": "Registered trademark"
                    }
                ],
                "issues": [],
                "state": "complete",
                "totalCount": 1
            }
        }
    ]
}

Response 200 OK

application/json

{
    "verdict": {
        "riskIndex": 0,
        "riskLevel": "none",
        "headline": "string"
    },
    "recommendation": {
        "verdicts": [
            {
                "key": "string",
                "label": "string",
                "value": "yes",
                "reasonPill": {
                    "tone": "ok",
                    "text": "string",
                    "categories": [
                        "string"
                    ]
                }
            }
        ],
        "quote": "string"
    },
    "overview": {
        "topFindings": [
            {
                "key": "string",
                "tone": null,
                "headline": "string",
                "detail": "string",
                "categories": [
                    "string"
                ]
            }
        ]
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "verdict": {
            "$ref": "#/components/schemas/ProRecommendationVerdictModel"
        },
        "recommendation": {
            "$ref": "#/components/schemas/ProRecommendationBlockModel"
        },
        "overview": {
            "$ref": "#/components/schemas/ProOverviewModel"
        }
    },
    "type": "object",
    "required": [
        "verdict",
        "recommendation",
        "overview"
    ],
    "title": "ProRecommendationResponse",
    "description": "Response body for POST /v1/pro/recommendation."
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Domain Availability

POST /v1/domains/availability

Check domain availability

Description Check one proposed domain label across selected TLDs.

This endpoint performs best-effort live internet lookups. Per-TLD results

are: - registered: evidence indicates the domain is already taken - likely_available: no registration evidence was found - unknown: the lookup was inconclusive

Treat this as a convenience signal, not as a reservation or legal guarantee.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "name": "string",
    "tlds": [
        "string"
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "name": {
            "type": "string",
            "maxLength": 63,
            "minLength": 1,
            "title": "Name",
            "description": "Base domain label to check (for example 'acme')"
        },
        "tlds": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "maxItems": 10,
            "minItems": 1,
            "title": "Tlds",
            "description": "Target TLD list (for example ['ch', 'com'])"
        }
    },
    "type": "object",
    "required": [
        "name",
        "tlds"
    ],
    "title": "DomainAvailabilityRequest",
    "description": "Request body for POST /v1/domains/availability.\n\nAttributes:\n    name: Base domain label to check (without TLD).\n    tlds: Target TLD values from the supported allowlist.",
    "examples": [
        {
            "name": "acme",
            "tlds": [
                "ch",
                "swiss",
                "com",
                "net"
            ]
        }
    ]
}

Response 200 OK

application/json

{
    "input": {
        "name": "string",
        "nameNorm": "string",
        "tlds": [
            "string"
        ]
    },
    "results": [
        {
            "fqdn": "string",
            "tld": "string",
            "status": "registered",
            "available": null,
            "source": "string",
            "reason": "string",
            "checkedAt": "string"
        }
    ],
    "summary": {
        "registeredCount": 0,
        "likelyAvailableCount": 0,
        "unknownCount": 0
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "input": {
            "$ref": "#/components/schemas/DomainAvailabilityInputEcho",
            "description": "Echoed and normalized input"
        },
        "results": {
            "items": {
                "$ref": "#/components/schemas/DomainAvailabilityResultResponse"
            },
            "type": "array",
            "title": "Results",
            "description": "Per-TLD availability check results"
        },
        "summary": {
            "$ref": "#/components/schemas/DomainAvailabilitySummaryResponse",
            "description": "Summary counts by status"
        }
    },
    "type": "object",
    "required": [
        "input",
        "results",
        "summary"
    ],
    "title": "DomainAvailabilityResponse",
    "description": "Response body for POST /v1/domains/availability.",
    "examples": [
        {
            "input": {
                "name": "acme",
                "nameNorm": "acme",
                "tlds": [
                    "ch",
                    "com"
                ]
            },
            "results": [
                {
                    "available": false,
                    "checkedAt": "2026-03-22T12:00:00Z",
                    "fqdn": "acme.ch",
                    "reason": "dns_or_rdap_positive",
                    "source": "dns+rdap",
                    "status": "registered",
                    "tld": "ch"
                },
                {
                    "available": true,
                    "checkedAt": "2026-03-22T12:00:01Z",
                    "fqdn": "acme.com",
                    "reason": "no_delegation_and_rdap_not_found",
                    "source": "dns+rdap",
                    "status": "likely_available",
                    "tld": "com"
                }
            ],
            "summary": {
                "likelyAvailableCount": 1,
                "registeredCount": 1,
                "unknownCount": 0
            }
        }
    ]
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 502 Bad Gateway

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 504 Gateway Timeout

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Legacy Eligibility

POST /v1/name/eligibility

Legacy company name eligibility (v1)

Description Deprecated legacy eligibility endpoint retained for backwards compatibility.

It combines deterministic validation with optional semantic analysis, but

new integrations should prefer /v1/name/assessment, which provides clearer decision semantics and better traceability.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "companyName": "string",
    "legalForm": "stock_corporation",
    "activityScope": null,
    "language": "de",
    "ownerFullName": null,
    "checkLevel": "basic"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "companyName": {
            "type": "string",
            "maxLength": 256,
            "minLength": 3,
            "title": "Companyname",
            "description": "The proposed company name to analyze. Prefer providing the base name without legal-form suffix (e.g., 'Legiqo' instead of 'Legiqo GmbH') for best consistency."
        },
        "legalForm": {
            "$ref": "#/components/schemas/SupportedLegalForm",
            "description": "Target legal form type (language-neutral). Allowed values: 'stock_corporation' (AG/SA), 'limited_liability' (GmbH/Sàrl/Sagl), 'sole_proprietorship' (Einzelunternehmen)"
        },
        "activityScope": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Activityscope",
            "description": "Description of the company's purpose (Zweck)"
        },
        "language": {
            "$ref": "#/components/schemas/Language",
            "description": "Language context for validation. Affects name interpretation and response messages."
        },
        "ownerFullName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ownerfullname",
            "description": "Full name of the owner (required for Einzelunternehmen)"
        },
        "checkLevel": {
            "$ref": "#/components/schemas/ComplianceCheckLevel",
            "description": "'basic' (Deterministic rules only) or 'full' (Deterministic rules + advanced semantic analysis)",
            "default": "full"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "companyName",
        "legalForm",
        "language"
    ],
    "title": "ComplianceAnalysisRequest",
    "description": "Request body for POST /v1/name/eligibility.\n\nAttributes:\n    companyName: The proposed company name to analyze.\n    legalForm: Target legal form (e.g., \"AG\", \"GmbH\").\n    activityScope: Description of the company's purpose.\n    language: Primary language of the name.\n    ownerFullName: Full name of the owner (for Sole Proprietorship).\n    checkLevel: 'basic' or 'full'.",
    "examples": [
        {
            "activityScope": "Development of software for bakeries",
            "checkLevel": "full",
            "companyName": "Müller & Söhne Banking",
            "language": "en",
            "legalForm": "stock_corporation"
        }
    ]
}

Response 200 OK

application/json

{
    "input": {
        "companyName": "string",
        "legalForm": "stock_corporation",
        "activityScope": null,
        "language": "de",
        "ownerFullName": null
    },
    "overallStatus": "COMPLIANT",
    "issues": [
        {
            "code": "string",
            "severity": "CRITICAL",
            "message": "string",
            "source": "string",
            "ruleRef": null
        }
    ],
    "registrableNames": null,
    "metadata": null
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "input": {
            "$ref": "#/components/schemas/ComplianceAnalysisInputEcho"
        },
        "overallStatus": {
            "$ref": "#/components/schemas/ComplianceOverallStatus"
        },
        "issues": {
            "items": {
                "$ref": "#/components/schemas/ValidationIssueModel"
            },
            "type": "array",
            "title": "Issues"
        },
        "registrableNames": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RegistrableNamesModel"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The full registrable company names in all 4 languages (base name + legal form suffix)"
        },
        "metadata": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Metadata",
            "description": "Processing metadata"
        }
    },
    "type": "object",
    "required": [
        "input",
        "overallStatus",
        "issues"
    ],
    "title": "ComplianceAnalysisResponse",
    "description": "Response body for compliance analysis.",
    "examples": [
        {
            "input": {
                "activityScope": "Development of software",
                "companyName": "Legiqo",
                "language": "en",
                "legalForm": "limited_liability"
            },
            "issues": [],
            "metadata": {
                "processingTimeMs": 150
            },
            "overallStatus": "COMPLIANT",
            "registrableNames": {
                "de": "Legiqo GmbH",
                "en": "Legiqo LLC",
                "fr": "Legiqo Sàrl",
                "it": "Legiqo Sagl"
            }
        }
    ]
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /v2/name/eligibility

Legacy company name eligibility (v2)

Description Deprecated legacy eligibility endpoint with additional seat and owner context, plus structured semantic rule output.

Kept for compatibility with earlier clients. New integrations should prefer
`/v1/name/assessment`.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "companyName": "string",
    "legalForm": "stock_corporation",
    "activityScope": null,
    "language": "de",
    "ownerSurname": null,
    "legalSeat": null,
    "checkLevel": "basic"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "companyName": {
            "type": "string",
            "maxLength": 256,
            "minLength": 3,
            "title": "Companyname",
            "description": "The proposed company name to analyze. Prefer providing the base name without legal-form suffix (e.g., 'Legiqo' instead of 'Legiqo GmbH') for best consistency."
        },
        "legalForm": {
            "$ref": "#/components/schemas/SupportedLegalForm",
            "description": "Target legal form type (language-neutral). Allowed values: 'stock_corporation' (AG/SA), 'limited_liability' (GmbH/Sàrl/Sagl), 'sole_proprietorship' (Einzelunternehmen)"
        },
        "activityScope": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Activityscope",
            "description": "Description of the company's purpose (Zweck)"
        },
        "language": {
            "$ref": "#/components/schemas/Language",
            "description": "Language context for validation and response messages."
        },
        "ownerSurname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ownersurname",
            "description": "Owner surname (required only for sole proprietorship checks). V2 accepts ownerSurname only."
        },
        "legalSeat": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Legalseat",
            "description": "Optional legal seat (municipality/city) used for geographic consistency checks against geographic terms in companyName. Providing this reduces seat-context warnings and improves review quality."
        },
        "checkLevel": {
            "$ref": "#/components/schemas/ComplianceCheckLevel",
            "description": "'basic' (Deterministic rules only) or 'full' (Deterministic rules + advanced semantic analysis)",
            "default": "full"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "companyName",
        "legalForm",
        "language"
    ],
    "title": "ComplianceAnalysisV2Request",
    "description": "Request body for POST /v2/name/eligibility.\n\nV2 keeps deterministic + semantic checks while supporting additional optional\ncontext fields used for Weisung-aligned warnings/review.",
    "examples": [
        {
            "activityScope": "Legal tech services",
            "checkLevel": "full",
            "companyName": "Legiqo",
            "language": "en",
            "legalForm": "limited_liability",
            "legalSeat": "Zürich"
        }
    ]
}

Response 200 OK

application/json

{
    "input": {
        "companyName": "string",
        "legalForm": "stock_corporation",
        "activityScope": null,
        "language": "de",
        "ownerSurname": null,
        "legalSeat": null
    },
    "overallStatus": "COMPLIANT",
    "issues": [
        {
            "code": "string",
            "severity": "CRITICAL",
            "message": "string",
            "source": "string",
            "ruleRef": null
        }
    ],
    "semanticEvaluation": null,
    "registrableNames": null,
    "metadata": null
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "input": {
            "$ref": "#/components/schemas/ComplianceAnalysisInputEchoV2"
        },
        "overallStatus": {
            "$ref": "#/components/schemas/ComplianceOverallStatus"
        },
        "issues": {
            "items": {
                "$ref": "#/components/schemas/ValidationIssueModel"
            },
            "type": "array",
            "title": "Issues"
        },
        "semanticEvaluation": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SemanticRegistrationEvaluationV2Model"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Structured semantic evaluation from the v2 LLM pipeline (full mode only)"
        },
        "registrableNames": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RegistrableNamesModel"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The full registrable company names in all 4 languages (base name + legal form suffix)"
        },
        "metadata": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Metadata",
            "description": "Processing metadata"
        }
    },
    "type": "object",
    "required": [
        "input",
        "overallStatus",
        "issues"
    ],
    "title": "ComplianceAnalysisV2Response",
    "description": "Response body for v2 compliance analysis."
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /v3/name/eligibility

Legacy company name eligibility (v3)

Description Deprecated legacy eligibility endpoint exposing classifier-style semantic extraction output.

It extends the legacy flow with multilingual variant support, but does not
provide the decision-oriented experience of `/v1/name/assessment`.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "companyName": "string",
    "legalForm": "stock_corporation",
    "activityScope": null,
    "language": "de",
    "ownerSurname": null,
    "legalSeat": null,
    "languageVariants": [
        {
            "name": "string",
            "lang": null
        }
    ],
    "checkLevel": "basic"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "companyName": {
            "type": "string",
            "maxLength": 256,
            "minLength": 3,
            "title": "Companyname",
            "description": "The proposed company name to analyze. Prefer providing the base name without legal-form suffix (e.g., 'Legiqo' instead of 'Legiqo GmbH') for best consistency."
        },
        "legalForm": {
            "$ref": "#/components/schemas/SupportedLegalForm",
            "description": "Target legal form type (language-neutral). Allowed values: 'stock_corporation' (AG/SA), 'limited_liability' (GmbH/Sarl/Sagl), 'sole_proprietorship' (Einzelunternehmen)"
        },
        "activityScope": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Activityscope",
            "description": "Description of the company's purpose (Zweck)"
        },
        "language": {
            "$ref": "#/components/schemas/Language",
            "description": "Primary language context for name interpretation. Human-readable `message` fields are English fallback copy; clients should render localized UI text from stable codes."
        },
        "ownerSurname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ownersurname",
            "description": "Owner surname (required only for sole proprietorship checks)."
        },
        "legalSeat": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Legalseat",
            "description": "Optional legal seat (municipality/city) for geographic checks."
        },
        "languageVariants": {
            "items": {
                "$ref": "#/components/schemas/LanguageVariantV3Model"
            },
            "type": "array",
            "title": "Languagevariants",
            "description": "Optional intended multilingual register variants to evaluate content consistency (Weisung 2.1.3.2)."
        },
        "checkLevel": {
            "$ref": "#/components/schemas/ComplianceCheckLevel",
            "description": "'basic' (Deterministic rules only) or 'full' (Deterministic rules + advanced semantic analysis)",
            "default": "full"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "companyName",
        "legalForm",
        "language"
    ],
    "title": "ComplianceAnalysisV3Request",
    "description": "Request body for POST /v3/name/eligibility.\n\nV3 keeps v2 deterministic context and adds optional languageVariants so the\nclassifier can check multilingual consistency explicitly.",
    "examples": [
        {
            "activityScope": "Manufacture and sale of watches",
            "checkLevel": "full",
            "companyName": "IED Uhrenfabrik AG",
            "language": "de",
            "languageVariants": [
                {
                    "lang": "de",
                    "name": "IED Uhrenfabrik AG"
                },
                {
                    "lang": "en",
                    "name": "IED Watch Ltd"
                }
            ],
            "legalForm": "stock_corporation",
            "legalSeat": "Zurich"
        }
    ]
}

Response 200 OK

application/json

{
    "input": {
        "companyName": "string",
        "legalForm": "stock_corporation",
        "activityScope": null,
        "language": "de",
        "ownerSurname": null,
        "legalSeat": null,
        "languageVariants": [
            {
                "name": "string",
                "lang": null
            }
        ]
    },
    "findings": [
        {
            "code": "string",
            "severity": "CRITICAL",
            "message": "string",
            "source": "string",
            "ruleRef": null
        }
    ],
    "semanticEvaluation": null,
    "registrableNames": null,
    "metadata": null
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "input": {
            "$ref": "#/components/schemas/ComplianceAnalysisInputEchoV3"
        },
        "findings": {
            "items": {
                "$ref": "#/components/schemas/ValidationIssueModel"
            },
            "type": "array",
            "title": "Findings",
            "description": "Deterministic findings returned by the endpoint. V3 semantic extraction is exposed separately in semanticEvaluation."
        },
        "semanticEvaluation": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Semanticevaluation",
            "description": "Structured semantic extraction payload from the v3 classifier (full mode only)"
        },
        "registrableNames": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RegistrableNamesModel"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The full registrable company names in all 4 languages (base name + legal form suffix)"
        },
        "metadata": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Metadata",
            "description": "Processing metadata"
        }
    },
    "type": "object",
    "required": [
        "input",
        "findings"
    ],
    "title": "ComplianceAnalysisV3Response",
    "description": "Response body for v3 compliance analysis."
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

Assessment

POST /v1/name/assessment

Assess one company name

Description Primary decision endpoint for evaluating one proposed Swiss company name.

It combines deterministic EHRA-oriented checks, optional semantic

extraction, and a configurable risk profile to produce a business-facing overallStatus. Use this endpoint for new integrations that want a single assessment outcome rather than raw sub-check results.

Important response semantics:
- HTTP 200 means the assessment executed successfully
- `overallStatus` carries the main registration-oriented outcome
- `issues[]` and `semanticEvaluation` explain the outcome
- `traceId` and `X-Trace-Id` support trace lookup and support workflows

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "companyName": "string",
    "legalForm": "stock_corporation",
    "activityScope": null,
    "language": "de",
    "ownerSurname": null,
    "legalSeat": null,
    "languageVariants": [
        {
            "name": "string",
            "lang": null
        }
    ],
    "checkLevel": "basic",
    "riskProfile": "balanced"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "companyName": {
            "type": "string",
            "maxLength": 256,
            "minLength": 3,
            "title": "Companyname",
            "description": "The proposed company name to analyze. For assessment, provide the full primary name including legal-form suffix (e.g., 'Legiqo GmbH') and keep it consistent with `legalForm`."
        },
        "legalForm": {
            "$ref": "#/components/schemas/SupportedLegalForm",
            "description": "Target legal form type (language-neutral). Allowed values: 'stock_corporation' (AG/SA), 'limited_liability' (GmbH/Sarl/Sagl), 'sole_proprietorship' (Einzelunternehmen)"
        },
        "activityScope": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Activityscope",
            "description": "Description of the company's purpose (Zweck)"
        },
        "language": {
            "$ref": "#/components/schemas/Language",
            "description": "Primary language context for deterministic checks/messages."
        },
        "ownerSurname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ownersurname",
            "description": "Owner surname (required only for sole proprietorship checks)."
        },
        "legalSeat": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Legalseat",
            "description": "Optional legal seat (municipality/city) for geographic checks."
        },
        "languageVariants": {
            "items": {
                "$ref": "#/components/schemas/LanguageVariantV3Model"
            },
            "type": "array",
            "title": "Languagevariants",
            "description": "Optional intended multilingual register variants to evaluate content consistency."
        },
        "checkLevel": {
            "$ref": "#/components/schemas/ComplianceCheckLevel",
            "description": "'basic' (Deterministic checks only) or 'full' (Deterministic checks + semantic extraction)",
            "default": "full"
        },
        "riskProfile": {
            "$ref": "#/components/schemas/RiskProfile",
            "description": "Static risk profile used for mapping flags to final status.",
            "default": "balanced"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "companyName",
        "legalForm",
        "language"
    ],
    "title": "CompanyNameAssessmentRequest",
    "description": "Request body for POST /v1/name/assessment.",
    "examples": [
        {
            "activityScope": "Manufacture and sale of watches",
            "checkLevel": "full",
            "companyName": "IED Uhrenfabrik AG",
            "language": "de",
            "languageVariants": [
                {
                    "lang": "de",
                    "name": "IED Uhrenfabrik AG"
                },
                {
                    "lang": "en",
                    "name": "IED Watch Ltd"
                }
            ],
            "legalForm": "stock_corporation",
            "legalSeat": "Zurich",
            "riskProfile": "balanced"
        }
    ]
}

Response 200 OK

application/json

{
    "companyName": "string",
    "overallStatus": "CLEAR_TO_FILE",
    "riskProfileApplied": "balanced",
    "issues": [
        {
            "code": "string",
            "severity": "INFO",
            "category": "SYNTAX",
            "message": "string"
        }
    ],
    "semanticSignals": null,
    "semanticFailOpen": null,
    "traceId": null
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "companyName": {
            "type": "string",
            "title": "Companyname",
            "description": "Original company name that was evaluated"
        },
        "overallStatus": {
            "$ref": "#/components/schemas/AssessmentStatus",
            "description": "Final filing-oriented outcome after risk-profile mapping"
        },
        "riskProfileApplied": {
            "$ref": "#/components/schemas/RiskProfile",
            "description": "Risk profile that mapped surfaced issues to the final outcome"
        },
        "issues": {
            "items": {
                "$ref": "#/components/schemas/NameIssueModel"
            },
            "type": "array",
            "title": "Issues",
            "description": "Triggered machine-readable issues for deterministic client handling"
        },
        "semanticSignals": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SemanticSignalsModel"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Structured semantic signals from the optional full pipeline"
        },
        "semanticFailOpen": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Semanticfailopen",
            "description": "True when semantic execution was requested but unavailable"
        },
        "traceId": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Traceid",
            "description": "Support and audit correlation identifier"
        }
    },
    "type": "object",
    "required": [
        "companyName",
        "overallStatus",
        "riskProfileApplied",
        "issues"
    ],
    "title": "CompanyNameDecisionResponse",
    "description": "Decision-oriented response body for POST /v1/name/assessment.",
    "examples": [
        {
            "companyName": "Legiqo GmbH",
            "issues": [],
            "overallStatus": "CLEAR_TO_FILE",
            "riskProfileApplied": "balanced",
            "semanticFailOpen": false,
            "semanticSignals": {
                "containsGeographicTerm": false,
                "impliedActivities": [],
                "isPurelyDescriptive": false
            },
            "traceId": "trc_f8bfb7db8e4848fabc0b2b2dfeb7fe48"
        },
        {
            "companyName": "Kaufhaus AG",
            "issues": [
                {
                    "category": "SEMANTIC",
                    "code": "WARN_PURELY_DESCRIPTIVE",
                    "message": "The name appears purely descriptive and may lack distinctiveness.",
                    "severity": "WARNING"
                }
            ],
            "overallStatus": "MANUAL_REVIEW_ADVISED",
            "riskProfileApplied": "balanced",
            "semanticFailOpen": false,
            "semanticSignals": {
                "impliedActivities": [
                    "Retail"
                ],
                "isPurelyDescriptive": true
            },
            "traceId": "trc_88fe2ab77c67438e8c7a4ca886ab1652"
        },
        {
            "companyName": "Swiss Bank Consulting GmbH",
            "issues": [
                {
                    "category": "REGULATORY",
                    "code": "WARN_FINMA_LICENSE_REQUIRED",
                    "message": "Regulated financial terms suggest FINMA authorization may be required.",
                    "severity": "ERROR"
                }
            ],
            "overallStatus": "REGISTRY_REJECTION_LIKELY",
            "riskProfileApplied": "balanced",
            "semanticFailOpen": false,
            "semanticSignals": {
                "impliedInvestmentOrBankingActivity": true
            },
            "traceId": "trc_3c7d870bb27a4f75986fbca863f0591c"
        }
    ]
}
Name Description Schema
X-Trace-Id Correlation id for this request. string
X-RateLimit-Limit Request limit for current window. string
X-RateLimit-Remaining Remaining requests in current window. string
X-RateLimit-Reset Unix timestamp when current window resets. string

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}
Name Description Schema
Retry-After Seconds to wait before retrying. string
X-RateLimit-Limit Request limit for current window. string
X-RateLimit-Remaining Always 0 when rate-limited. string
X-RateLimit-Reset Unix timestamp when current window resets. string

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

Screening

GET /v1/name/screening/catalog

Get screening response catalog

Description Return the stable codes, enum values, and English fallback descriptions used by /v1/name/screening. Clients should use these codes as UI copy keys.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Response 200 OK

application/json

{
    "assessmentIssueCodes": [
        {
            "code": "string",
            "severity": "INFO",
            "category": "SYNTAX",
            "message": "string"
        }
    ],
    "assessmentIssueSeverities": null,
    "assessmentIssueCategories": null,
    "overallStatuses": [
        "CLEAR_TO_FILE"
    ],
    "resultStates": [
        "COMPLETE"
    ],
    "nextActions": [
        "PROCEED"
    ],
    "driverSources": [
        "assessment"
    ],
    "driverCodes": [
        {
            "code": "ASSESSMENT_WARNING_FLAGS",
            "source": null,
            "defaultSeverity": "info",
            "message": "string"
        }
    ],
    "driverSeverities": null,
    "checkStates": [
        "completed"
    ],
    "riskLevels": [
        "High"
    ],
    "errorCodes": [
        "VALIDATION_ERROR"
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "assessmentIssueCodes": {
            "items": {
                "$ref": "#/components/schemas/ScreeningAssessmentIssueCatalogItem"
            },
            "type": "array",
            "title": "Assessmentissuecodes"
        },
        "assessmentIssueSeverities": {
            "items": {
                "$ref": "#/components/schemas/FlagSeverity"
            },
            "type": "array",
            "title": "Assessmentissueseverities"
        },
        "assessmentIssueCategories": {
            "items": {
                "$ref": "#/components/schemas/FlagCategory"
            },
            "type": "array",
            "title": "Assessmentissuecategories"
        },
        "overallStatuses": {
            "items": {
                "$ref": "#/components/schemas/AssessmentStatus"
            },
            "type": "array",
            "title": "Overallstatuses"
        },
        "resultStates": {
            "items": {
                "$ref": "#/components/schemas/ScreeningResultState"
            },
            "type": "array",
            "title": "Resultstates"
        },
        "nextActions": {
            "items": {
                "$ref": "#/components/schemas/ScreeningNextAction"
            },
            "type": "array",
            "title": "Nextactions"
        },
        "driverSources": {
            "items": {
                "$ref": "#/components/schemas/ScreeningDriverSource"
            },
            "type": "array",
            "title": "Driversources"
        },
        "driverCodes": {
            "items": {
                "$ref": "#/components/schemas/ScreeningDriverCatalogItem"
            },
            "type": "array",
            "title": "Drivercodes"
        },
        "driverSeverities": {
            "items": {
                "$ref": "#/components/schemas/ScreeningDriverSeverity"
            },
            "type": "array",
            "title": "Driverseverities"
        },
        "checkStates": {
            "items": {
                "$ref": "#/components/schemas/ScreeningCheckStatus"
            },
            "type": "array",
            "title": "Checkstates"
        },
        "riskLevels": {
            "items": {
                "$ref": "#/components/schemas/RiskLevelParam"
            },
            "type": "array",
            "title": "Risklevels"
        },
        "errorCodes": {
            "items": {
                "$ref": "#/components/schemas/ErrorCode"
            },
            "type": "array",
            "title": "Errorcodes"
        }
    },
    "type": "object",
    "required": [
        "assessmentIssueCodes",
        "assessmentIssueSeverities",
        "assessmentIssueCategories",
        "overallStatuses",
        "resultStates",
        "nextActions",
        "driverSources",
        "driverCodes",
        "driverSeverities",
        "checkStates",
        "riskLevels",
        "errorCodes"
    ],
    "title": "ScreeningResponseCatalogModel",
    "description": "Runtime catalog of stable values used by POST /v1/name/screening.",
    "examples": [
        {
            "assessmentIssueCategories": [
                "SYNTAX",
                "LEGAL_FORM",
                "GEOGRAPHIC",
                "TRANSLATION",
                "SEMANTIC",
                "REGULATORY"
            ],
            "assessmentIssueCodes": [
                {
                    "category": "LEGAL_FORM",
                    "code": "ERR_MISSING_LEGAL_FORM",
                    "message": "The legal form is missing or not recognizable in the primary name.",
                    "severity": "ERROR"
                }
            ],
            "assessmentIssueSeverities": [
                "INFO",
                "WARNING",
                "ERROR"
            ],
            "checkStates": [
                "completed",
                "failed",
                "not_requested"
            ],
            "driverCodes": [
                {
                    "code": "ASSESSMENT_BLOCKING_FLAGS",
                    "defaultSeverity": "block",
                    "message": "Assessment blocking flags contributed to the screening result.",
                    "source": "assessment"
                }
            ],
            "driverSeverities": [
                "info",
                "warning",
                "review",
                "block"
            ],
            "driverSources": [
                "assessment",
                "conflicts"
            ],
            "errorCodes": [
                "VALIDATION_ERROR",
                "UPSTREAM_TIMEOUT"
            ],
            "nextActions": [
                "PROCEED",
                "ROUTE_TO_MANUAL_REVIEW"
            ],
            "overallStatuses": [
                "CLEAR_TO_FILE",
                "MANUAL_REVIEW_ADVISED"
            ],
            "resultStates": [
                "COMPLETE",
                "PARTIAL"
            ],
            "riskLevels": [
                "High",
                "Medium",
                "Low"
            ]
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

POST /v1/name/screening

Run bundled company name screening

Description Bundled orchestration endpoint for integrations that want multiple screening signals for the same proposed company name in one request.

Default bundle:
- company name assessment
- company conflict search
- trademark search

Optional bundle:
- domain availability checks (explicit label + TLDs required)

Read the response as follows:
- `overallStatus` is the primary business outcome
- `resultState=PARTIAL` means one or more requested checks failed
- `drivers[]` highlights the factors that most influenced the result
- `details` contains compact per-check output for completed checks

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.

Request body

application/json

{
    "companyName": "string",
    "legalForm": "stock_corporation",
    "activityScope": null,
    "language": "de",
    "ownerSurname": null,
    "legalSeat": null,
    "languageVariants": [
        {
            "name": "string",
            "lang": null
        }
    ],
    "checkLevel": "basic",
    "riskProfile": "balanced",
    "checks": {
        "ehraCompliance": {
            "enabled": true
        },
        "conflicts": {
            "enabled": true,
            "limit": 0,
            "minRisk": "High"
        },
        "trademarks": {
            "enabled": true,
            "limit": 0,
            "minRisk": null,
            "niceClasses": null
        },
        "domains": {
            "enabled": true,
            "label": null,
            "tlds": null
        }
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body

{
    "properties": {
        "companyName": {
            "type": "string",
            "maxLength": 256,
            "minLength": 3,
            "title": "Companyname",
            "description": "The proposed company name to analyze. For assessment, provide the full primary name including legal-form suffix (e.g., 'Legiqo GmbH') and keep it consistent with `legalForm`."
        },
        "legalForm": {
            "$ref": "#/components/schemas/SupportedLegalForm",
            "description": "Target legal form type (language-neutral). Allowed values: 'stock_corporation' (AG/SA), 'limited_liability' (GmbH/Sarl/Sagl), 'sole_proprietorship' (Einzelunternehmen)"
        },
        "activityScope": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Activityscope",
            "description": "Description of the company's purpose (Zweck)"
        },
        "language": {
            "$ref": "#/components/schemas/Language",
            "description": "Primary language context for deterministic checks/messages."
        },
        "ownerSurname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ownersurname",
            "description": "Owner surname (required only for sole proprietorship checks)."
        },
        "legalSeat": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Legalseat",
            "description": "Optional legal seat (municipality/city) for geographic checks."
        },
        "languageVariants": {
            "items": {
                "$ref": "#/components/schemas/LanguageVariantV3Model"
            },
            "type": "array",
            "title": "Languagevariants",
            "description": "Optional intended multilingual register variants to evaluate content consistency."
        },
        "checkLevel": {
            "$ref": "#/components/schemas/ComplianceCheckLevel",
            "description": "'basic' (Deterministic checks only) or 'full' (Deterministic checks + semantic extraction)",
            "default": "full"
        },
        "riskProfile": {
            "$ref": "#/components/schemas/RiskProfile",
            "description": "Static risk profile used for mapping flags to final status.",
            "default": "balanced"
        },
        "checks": {
            "$ref": "#/components/schemas/CompanyNameScreeningChecksRequest",
            "description": "Optional overrides for which screening checks run. If omitted, the default bundle is assessment + conflicts + trademarks, with domains disabled."
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "companyName",
        "legalForm",
        "language"
    ],
    "title": "CompanyNameScreeningRequest",
    "description": "Request body for POST /v1/name/screening.",
    "examples": [
        {
            "activityScope": "Software consulting",
            "checkLevel": "full",
            "checks": {
                "conflicts": {
                    "enabled": true,
                    "limit": 25,
                    "minRisk": "Low"
                },
                "domains": {
                    "enabled": false
                },
                "ehraCompliance": {
                    "enabled": true
                },
                "trademarks": {
                    "enabled": true,
                    "limit": 20,
                    "minRisk": "Low",
                    "niceClasses": [
                        35,
                        42
                    ]
                }
            },
            "companyName": "Legiqo GmbH",
            "language": "de",
            "languageVariants": [],
            "legalForm": "limited_liability",
            "legalSeat": "Zurich",
            "riskProfile": "balanced"
        }
    ]
}

Response 200 OK

application/json

{
    "overallStatus": "CLEAR_TO_FILE",
    "resultState": "COMPLETE",
    "nextAction": "PROCEED",
    "drivers": [
        {
            "source": "assessment",
            "code": "ASSESSMENT_WARNING_FLAGS",
            "severity": "info"
        }
    ],
    "primaryConcern": null,
    "checkStates": {
        "ehraCompliance": "completed",
        "conflicts": null,
        "trademarks": null,
        "domains": null
    },
    "executionIssues": [
        {
            "check": "string",
            "code": "string",
            "message": "string",
            "retryable": null
        }
    ],
    "details": {
        "ehraCompliance": null,
        "conflicts": null,
        "trademarks": null,
        "domains": null
    },
    "traceId": "string"
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "overallStatus": {
            "$ref": "#/components/schemas/AssessmentStatus",
            "description": "Top-level filing-oriented decision for the requested screening bundle"
        },
        "resultState": {
            "$ref": "#/components/schemas/ScreeningResultState",
            "description": "Whether all requested checks completed successfully"
        },
        "nextAction": {
            "$ref": "#/components/schemas/ScreeningNextAction",
            "description": "Recommended downstream workflow action for integrators"
        },
        "drivers": {
            "items": {
                "$ref": "#/components/schemas/ScreeningDriverModel"
            },
            "type": "array",
            "title": "Drivers",
            "description": "Machine-readable reasons that materially contributed to the outcome"
        },
        "primaryConcern": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ScreeningPrimaryConcernModel"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Single strongest issue to display prominently in simple workflows"
        },
        "checkStates": {
            "$ref": "#/components/schemas/ScreeningCheckStatesModel",
            "description": "Execution state for each screening sub-check"
        },
        "executionIssues": {
            "items": {
                "$ref": "#/components/schemas/ScreeningExecutionIssueModel"
            },
            "type": "array",
            "title": "Executionissues",
            "description": "Per-check execution failures for requested checks that did not complete"
        },
        "details": {
            "$ref": "#/components/schemas/ScreeningDetailsModel",
            "description": "Compact details for successfully completed checks"
        },
        "traceId": {
            "type": "string",
            "title": "Traceid",
            "description": "Support and audit correlation identifier"
        }
    },
    "type": "object",
    "required": [
        "overallStatus",
        "resultState",
        "nextAction",
        "checkStates",
        "details",
        "traceId"
    ],
    "title": "CompanyNameScreeningResponse",
    "description": "Response body for POST /v1/name/screening.",
    "examples": [
        {
            "checkStates": {
                "conflicts": "completed",
                "domains": "not_requested",
                "ehraCompliance": "completed",
                "trademarks": "completed"
            },
            "details": {
                "conflicts": {
                    "hasMoreMatches": true,
                    "highestRisk": "Low",
                    "identityMatchFound": false,
                    "matchCountsByRisk": {
                        "high": 0,
                        "low": 2,
                        "medium": 0
                    },
                    "similarMatchCount": 2,
                    "topMatches": []
                },
                "ehraCompliance": {
                    "issues": [],
                    "semanticFailOpen": false
                },
                "trademarks": {
                    "goodsServicesContextApplied": true,
                    "hasMoreMatches": false,
                    "highestRisk": "High",
                    "matchCountsByRisk": {
                        "high": 1,
                        "low": 0,
                        "medium": 0
                    },
                    "similarMatchCount": 1,
                    "topMatches": []
                }
            },
            "drivers": [
                {
                    "code": "TRADEMARK_MATCHES",
                    "severity": "review",
                    "source": "trademarks"
                }
            ],
            "executionIssues": [],
            "nextAction": "ROUTE_TO_MANUAL_REVIEW",
            "overallStatus": "MANUAL_REVIEW_ADVISED",
            "primaryConcern": {
                "code": "TRADEMARK_MATCHES",
                "label": "LEGIC",
                "referenceId": "600643",
                "risk": "High",
                "severity": "review",
                "source": "trademarks"
            },
            "resultState": "COMPLETE",
            "traceId": "trc_screening_example"
        }
    ]
}

Response 400 Bad Request

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Registry Lookup

GET /v1/company/{source_company_id}

Get company record by source ID

Description Look up one stored company record by source company ID, for example a CHE identifier returned from conflict search results.

The response includes the main company fields plus all stored name variants.
Authentication is required.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.
source_company_id path string No

Response 200 OK

application/json

{
    "source_company_id": "string",
    "source_system": "string",
    "name_display": "string",
    "name_norm": "string",
    "legal_seat": null,
    "legal_form": null,
    "chid": null,
    "ehraid": null,
    "is_deleted": true,
    "name_variants": [
        {
            "name_raw": "string",
            "name_kind": "string",
            "lang": "string",
            "is_primary": true
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "source_company_id": {
            "type": "string",
            "title": "Source Company Id",
            "description": "Unique identifier (e.g., CHE number)"
        },
        "source_system": {
            "type": "string",
            "title": "Source System",
            "description": "Source system identifier"
        },
        "name_display": {
            "type": "string",
            "title": "Name Display",
            "description": "Display name"
        },
        "name_norm": {
            "type": "string",
            "title": "Name Norm",
            "description": "Normalized name"
        },
        "legal_seat": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Legal Seat",
            "description": "Municipality where company is registered"
        },
        "legal_form": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Legal Form",
            "description": "Legal form (e.g., AG, GmbH)"
        },
        "chid": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Chid",
            "description": "CH identification number"
        },
        "ehraid": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ehraid",
            "description": "EHRA ID"
        },
        "is_deleted": {
            "type": "boolean",
            "title": "Is Deleted",
            "description": "Whether company is soft-deleted"
        },
        "name_variants": {
            "items": {
                "$ref": "#/components/schemas/CompanyNameVariant"
            },
            "type": "array",
            "title": "Name Variants",
            "description": "All name variants for this company"
        }
    },
    "type": "object",
    "required": [
        "source_company_id",
        "source_system",
        "name_display",
        "name_norm",
        "legal_seat",
        "legal_form",
        "chid",
        "ehraid",
        "is_deleted",
        "name_variants"
    ],
    "title": "CompanyDetail",
    "description": "Detailed company information for lookup endpoint.",
    "examples": [
        {
            "chid": "CHE-101.835.433",
            "ehraid": "12345",
            "is_deleted": false,
            "legal_form": "AG",
            "legal_seat": "Zürich",
            "name_display": "Müller & Söhne AG",
            "name_norm": "mueller soehne",
            "name_variants": [
                {
                    "is_primary": true,
                    "lang": "de",
                    "name_kind": "legal",
                    "name_raw": "Müller & Söhne AG"
                }
            ],
            "source_company_id": "CHE101835433",
            "source_system": "zefix_linda"
        }
    ]
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 404 Not Found

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

Trademark Lookup

GET /v1/trademarks/{source_record_id}

Get trademark record by source ID

Description Look up one stored trademark record by source record ID.

The response includes the main trademark metadata plus Nice classes, Vienna
classifications, and stored party records.

Input parameters

Parameter In Type Default Nullable Description
ClientApiKeyAuth header string N/A No Client API key for public endpoints.
source_record_id path string No

Response 200 OK

application/json

{
    "sourceRecordId": "string",
    "sourceSystem": "string",
    "registrationOfficeCode": null,
    "applicationNumber": null,
    "registrationNumber": null,
    "applicationDate": null,
    "registrationDate": null,
    "expiryDate": null,
    "status": null,
    "markCategory": null,
    "markFeatureCategory": null,
    "wordmark": "string",
    "wordmarkNorm": "string",
    "colorClaimed": null,
    "niceClasses": [
        0
    ],
    "viennaClassifications": [
        {
            "category": null,
            "division": null,
            "section": null
        }
    ],
    "parties": [
        {
            "role": "string",
            "fullName": null,
            "legalEntityName": null,
            "countryCode": null,
            "addressLines": [
                "string"
            ]
        }
    ],
    "isDeleted": true
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "sourceRecordId": {
            "type": "string",
            "title": "Sourcerecordid"
        },
        "sourceSystem": {
            "type": "string",
            "title": "Sourcesystem"
        },
        "registrationOfficeCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Registrationofficecode"
        },
        "applicationNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Applicationnumber"
        },
        "registrationNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Registrationnumber"
        },
        "applicationDate": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Applicationdate"
        },
        "registrationDate": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Registrationdate"
        },
        "expiryDate": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Expirydate"
        },
        "status": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Status"
        },
        "markCategory": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Markcategory"
        },
        "markFeatureCategory": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Markfeaturecategory"
        },
        "wordmark": {
            "type": "string",
            "title": "Wordmark"
        },
        "wordmarkNorm": {
            "type": "string",
            "title": "Wordmarknorm"
        },
        "colorClaimed": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Colorclaimed"
        },
        "niceClasses": {
            "items": {
                "type": "integer"
            },
            "type": "array",
            "title": "Niceclasses"
        },
        "viennaClassifications": {
            "items": {
                "$ref": "#/components/schemas/TrademarkViennaClassificationModel"
            },
            "type": "array",
            "title": "Viennaclassifications"
        },
        "parties": {
            "items": {
                "$ref": "#/components/schemas/TrademarkPartyDetailModel"
            },
            "type": "array",
            "title": "Parties"
        },
        "isDeleted": {
            "type": "boolean",
            "title": "Isdeleted"
        }
    },
    "type": "object",
    "required": [
        "sourceRecordId",
        "sourceSystem",
        "wordmark",
        "wordmarkNorm",
        "isDeleted"
    ],
    "title": "TrademarkDetailResponse",
    "description": "Detailed trademark record for GET /v1/trademarks/{sourceRecordId}."
}

Response 401 Unauthorized

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 404 Not Found

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 429 Too Many Requests

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 500 Internal Server Error

application/json

{
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "string",
        "details": null
    }
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "error": {
            "$ref": "#/components/schemas/ErrorDetail",
            "description": "Error information"
        }
    },
    "type": "object",
    "required": [
        "error"
    ],
    "title": "ErrorResponse",
    "description": "Wrapper for error responses.",
    "examples": [
        {
            "error": {
                "code": "VALIDATION_ERROR",
                "details": {
                    "field": "name",
                    "nameNorm": "ab"
                },
                "message": "name is too short after normalization"
            }
        }
    ]
}

Response 422 Unprocessable Entity

application/json

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body

{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

Schemas

AdminBreakdownItemModel

Name Type
count integer
value string

AdminCompanyDataStatsResponse

Name Type
activeCompanies integer
companiesWithTradeNames integer
deletedCompanies integer
distinctLegalSeats integer
generatedAt string
lastSync
latestSourceUpdateAt
latestStoredUpdateAt
nameLanguageBreakdown Array<AdminBreakdownItemModel>
topLegalForms Array<AdminBreakdownItemModel>
totalCompanies integer
totalCompanyNames integer
totalLegalNames integer
totalTradeNames integer

AdminDashboardResponse

Name Type
companies AdminDatasetOverviewModel
generatedAt string
searchOverview SearchMetricsOverviewResponse
topConsumers Array<SearchConsumerMetricsModel>
topSearchTerms Array<SearchTopTermModel>
trademarks AdminDatasetOverviewModel

AdminDataOverviewResponse

Name Type
companies AdminDatasetOverviewModel
generatedAt string
trademarks AdminDatasetOverviewModel

AdminDatasetOverviewModel

Name Type
activeEntries integer
deletedEntries integer
lastSync
latestSourceUpdateAt
latestStoredUpdateAt
totalEntries integer

AdminDatasetSyncRunModel

Name Type
durationSeconds
finishedAt
id integer
mode string
rowsFailed integer
rowsUpserted integer
startedAt string
status

AdminTrademarkDataStatsResponse

Name Type
activeTrademarks integer
categoryBreakdown Array<AdminBreakdownItemModel>
deletedTrademarks integer
generatedAt string
lastSync
latestStoredUpdateAt
latestVersionAt
statusBreakdown Array<AdminBreakdownItemModel>
totalNiceClassAssignments integer
totalPartyRecords integer
totalTrademarks integer
totalViennaClassifications integer
trademarksWithoutVerbalElement integer
trademarksWithVerbalElement integer

ApiConsumerCreateRequest

Name Type
contactEmail
description
name string

ApiConsumerModel

Name Type
code string
contactEmail
createdAt string
description
id integer
isActive boolean
name string
updatedAt string

ApiConsumerUpdateRequest

Name Type
contactEmail
description
isActive
name

ApiKeyCreateRequest

Name Type
allowNonExpiring boolean
consumerId integer
createdBy
description
displayName
expiresAt

ApiKeyCreateResponse

Name Type
apiKey string
key ApiKeyModel

ApiKeyListResponse

Name Type
items Array<ApiKeyModel>
limit integer
offset integer
total integer

ApiKeyModel

Name Type
consumerCode string
consumerId integer
createdAt string
createdBy
description
displayName
expiresAt
id integer
isActive boolean
keyLast4 string
keyPrefix string
lastUsedAt
revokedAt
updatedAt string

AssessmentCheckCatalogItemModel

Name Type
checkVersion string
legalBasis Array<string>
parentStepIds Array<string>
possibleOutcomes Array<string>
resultingFlagCode
sequence integer
sourceType string
stage string
stepId string
title string
whatItDoes string

AssessmentCheckStepModel

Name Type
applicable boolean
checkVersion string
confidence
inputSnapshot
legalBasis Array<string>
outcome string
outputSnapshot
parentStepIds Array<string>
resultingFlagCode
sequence integer
sourceType string
stage string
stepId string
title string
triggered boolean
whatItDoes string

AssessmentDeterministicCheckModel

Name Type
checkId string
evidence
reason string
triggered boolean

AssessmentExplanationModel

Name Type
allChecks Array<AssessmentCheckStepModel>
decisionPath Array<string>
deterministicChecks Array<AssessmentDeterministicCheckModel>
finalRationale string
ruleEngineMapping Array<AssessmentRuleEngineMappingModel>
semanticChecks Array<AssessmentSemanticCheckModel>

AssessmentRuleEngineMappingModel

Name Type
category FlagCategory
code string
contributesToOverallStatus boolean
profileSeverity FlagSeverity
reason string

AssessmentSemanticCheckModel

Name Type
checkId string
evidence
reason string
triggered boolean
value

AssessmentStatus

Type: string

AssessmentTraceCompareRequest

Name Type
traceIdA string
traceIdB string

AssessmentTraceCompareResponse

Name Type
changedChecks Array<AssessmentTraceDiffCheckModel>
decisiveChecksA Array<string>
decisiveChecksB Array<string>
overallStatusA
overallStatusB
traceIdA string
traceIdB string

AssessmentTraceDetailResponse

Name Type
createdAt string
endpoint string
explanation
response CompanyNameDecisionResponse
statusCode integer
traceId string

AssessmentTraceDiffCheckModel

Name Type
outcomeA string
outcomeB string
stepId string
triggeredA boolean
triggeredB boolean

AssessmentTraceListItemModel

Name Type
companyName
createdAt string
decisiveChecks Array<string>
durationMs
overallStatus
riskProfile
statusCode integer
traceId string
triggeredCount integer

AssessmentTraceListResponse

Name Type
items Array<AssessmentTraceListItemModel>
limit integer
offset integer
total integer

CompanyDetail

Name Type
chid
ehraid
is_deleted boolean
legal_form
legal_seat
name_display string
name_norm string
name_variants Array<CompanyNameVariant>
source_company_id string
source_system string

CompanyNameAssessmentRequest

Name Type
activityScope
checkLevel ComplianceCheckLevel
companyName string
language Language
languageVariants Array<LanguageVariantV3Model>
legalForm SupportedLegalForm
legalSeat
ownerSurname
riskProfile RiskProfile

CompanyNameDecisionResponse

Name Type
companyName string
issues Array<NameIssueModel>
overallStatus AssessmentStatus
riskProfileApplied RiskProfile
semanticFailOpen
semanticSignals
traceId

CompanyNameScreeningChecksRequest

Name Type
conflicts ScreeningConflictsOptions
domains ScreeningDomainsOptions
ehraCompliance ScreeningEhraComplianceOptions
trademarks ScreeningTrademarksOptions

CompanyNameScreeningRequest

Name Type
activityScope
checkLevel ComplianceCheckLevel
checks CompanyNameScreeningChecksRequest
companyName string
language Language
languageVariants Array<LanguageVariantV3Model>
legalForm SupportedLegalForm
legalSeat
ownerSurname
riskProfile RiskProfile

CompanyNameScreeningResponse

Name Type
checkStates ScreeningCheckStatesModel
details ScreeningDetailsModel
drivers Array<ScreeningDriverModel>
executionIssues Array<ScreeningExecutionIssueModel>
nextAction ScreeningNextAction
overallStatus AssessmentStatus
primaryConcern
resultState ScreeningResultState
traceId string

CompanyNameVariant

Name Type
is_primary boolean
lang string
name_kind string
name_raw string

ComplianceAnalysisInputEcho

Name Type
activityScope
companyName string
language Language
legalForm SupportedLegalForm
ownerFullName

ComplianceAnalysisInputEchoV2

Name Type
activityScope
companyName string
language Language
legalForm SupportedLegalForm
legalSeat
ownerSurname

ComplianceAnalysisInputEchoV3

Name Type
activityScope
companyName string
language Language
languageVariants Array<LanguageVariantV3Model>
legalForm SupportedLegalForm
legalSeat
ownerSurname

ComplianceAnalysisRequest

Name Type
activityScope
checkLevel ComplianceCheckLevel
companyName string
language Language
legalForm SupportedLegalForm
ownerFullName

ComplianceAnalysisResponse

Name Type
input ComplianceAnalysisInputEcho
issues Array<ValidationIssueModel>
metadata
overallStatus ComplianceOverallStatus
registrableNames

ComplianceAnalysisV2Request

Name Type
activityScope
checkLevel ComplianceCheckLevel
companyName string
language Language
legalForm SupportedLegalForm
legalSeat
ownerSurname

ComplianceAnalysisV2Response

Name Type
input ComplianceAnalysisInputEchoV2
issues Array<ValidationIssueModel>
metadata
overallStatus ComplianceOverallStatus
registrableNames
semanticEvaluation

ComplianceAnalysisV3Request

Name Type
activityScope
checkLevel ComplianceCheckLevel
companyName string
language Language
languageVariants Array<LanguageVariantV3Model>
legalForm SupportedLegalForm
legalSeat
ownerSurname

ComplianceAnalysisV3Response

Name Type
findings Array<ValidationIssueModel>
input ComplianceAnalysisInputEchoV3
metadata
registrableNames
semanticEvaluation

ComplianceCheckLevel

Type: string

ComplianceOverallStatus

Type: string

ConsumerCompanySearchRequest

Name Type
limit integer
minRisk RiskLevelParam
name string

ConsumerCompanySearchResponse

Name Type
fullResults Array<ConsumerCompanySearchResult>
identityMatch
input SearchInputEcho
summary ConsumerCompanySearchSummary

ConsumerCompanySearchResult

Name Type
companyType string
doc_id string
legalSeat
link string
matchType string
name string
nameNorm string
phoneticMatch
registry string
risk
strategies Array<string>
uid string
visualScore

ConsumerCompanySearchSummary

Name Type
hasIdentityMatch boolean
registrable boolean
totalResults integer

ConsumerTrademarkSearchRequest

Name Type
limit integer
minRisk RiskLevelParam
niceClasses
query string

ConsumerTrademarkSearchResponse

Name Type
fullResults Array<ConsumerTrademarkSearchResult>
identicalMatches Array<ConsumerTrademarkSearchResult>
input TrademarkSearchInputEcho
similarMatches Array<ConsumerTrademarkSearchResult>
summary ConsumerTrademarkSearchSummary

ConsumerTrademarkSearchResult

Name Type
applicant string
applicationDate
class string
classOverlap Array<integer>
database string
doc_id string
expiryDate
link string
markFeatureCategory
matchBasis Array<string>
matchType string
name string
phoneticMatch
registrationDate
registrationNumber
relatedClassOverlap Array<integer>
risk
score number
sourceRecordId string
status
strategies Array<string>
visualScore

ConsumerTrademarkSearchSummary

Name Type
goodsServicesBasis string
hasIdenticalMatches boolean
identicalMatchCount integer
similarMatchCount integer
totalResults integer

DomainAvailabilityInputEcho

Name Type
name string
nameNorm string
tlds Array<string>

DomainAvailabilityRequest

Name Type
name string
tlds Array<string>

DomainAvailabilityResponse

Name Type
input DomainAvailabilityInputEcho
results Array<DomainAvailabilityResultResponse>
summary DomainAvailabilitySummaryResponse

DomainAvailabilityResultResponse

Name Type
available
checkedAt string
fqdn string
reason string
source string
status DomainAvailabilityStatus
tld string

DomainAvailabilityStatus

Type: string

DomainAvailabilitySummaryResponse

Name Type
likelyAvailableCount integer
registeredCount integer
unknownCount integer

ErrorCode

Type: string

ErrorDetail

Name Type
code ErrorCode
details
message string

ErrorResponse

Name Type
error ErrorDetail

FlagCategory

Type: string

FlagSeverity

Type: string

HealthResponse

Name Type
status string

HTTPValidationError

Name Type
detail Array<ValidationError>

IdentityMatchResponse

Name Type
legalSeat
nameDisplay string
nameNorm string
sourceCompanyId string

IngestionRunInfo

Name Type
finished_at
id integer
mode string
rows_failed integer
rows_upserted integer
started_at string

Language

Type: string

LanguageVariantV3Model

Name Type
lang Language
name string

NameIssueModel

Name Type
category FlagCategory
code string
message string
severity FlagSeverity

ProAbsoluteGroundCriterionModel

Name Type
categories Array<string>
evidence
key string
legalRefs Array<string>
reasoning string
sub string
title string
verdict ProAbsoluteGroundsVerdict

ProAbsoluteGroundsEvidenceModel

Name Type
matchedAbbreviations Array<string>
matchedGenericTerms Array<string>
matchedOriginOrQualityTerms Array<string>
matchedPromotionalTerms Array<string>

ProAbsoluteGroundsRequest

Name Type
goodsServicesDescription string
language ProTextLanguage
markType ProMarkType
niceClasses Array<string>
wordmark string

ProAbsoluteGroundsResponse-Input

Name Type
criteria Array<ProAbsoluteGroundCriterionModel>
rollup ProAbsoluteGroundsVerdict
summary

ProAbsoluteGroundsResponse-Output

Name Type
criteria Array<ProAbsoluteGroundCriterionModel>
rollup ProAbsoluteGroundsVerdict
summary

ProAbsoluteGroundsVerdict

Type: string

ProCompanyIdentityHitModel

Name Type
docId string
holderText string
label string
legalSeat
link string
nameNorm string
statusText string

ProFamousMarkHitModel

Name Type
brand string
categories Array<string>
crossClass boolean
rationale string
triggerType ProFamousMarkTriggerType

ProFamousMarksRequest

Name Type
goodsServicesDescription string
language ProTextLanguage
niceClasses Array<integer>
query string

ProFamousMarksResponse-Input

Name Type
anyMatch boolean
hits Array<ProFamousMarkHitModel>
sourceRef string
testedBrands Array<string>
totalCount integer

ProFamousMarksResponse-Output

Name Type
anyMatch boolean
hits Array<ProFamousMarkHitModel>
sourceRef string
testedBrands Array<string>
totalCount integer

ProFamousMarkTriggerType

Type: string

ProMarkType

Type: string

ProNiceClassSuggestionModel

Name Type
niceClass integer
rationale string

ProNiceClassSuggestionRequest

Name Type
goodsServicesDescription string
language ProTextLanguage

ProNiceClassSuggestionResponse

Name Type
sourceRef string
suggestions Array<ProNiceClassSuggestionModel>

ProOverviewFindingModel

Name Type
categories Array<string>
detail string
headline string
key string
tone ProVerdictTone

ProOverviewModel

Name Type
topFindings Array<ProOverviewFindingModel>

ProReasonPillModel

Name Type
categories Array<string>
text string
tone ProVerdictTone

ProRecommendationBlockModel

Name Type
quote string
verdicts Array<ProRecommendationVerdictLineModel>

ProRecommendationRequest

Name Type
absoluteGrounds
famousMarks
identity
language ProTextLanguage
similarity

ProRecommendationResponse

Name Type
overview ProOverviewModel
recommendation ProRecommendationBlockModel
verdict ProRecommendationVerdictModel

ProRecommendationVerdictLineModel

Name Type
key string
label string
reasonPill ProReasonPillModel
value ProVerdictValue

ProRecommendationVerdictModel

Name Type
headline string
riskIndex integer
riskLevel ProRiskLevel

ProRiskLevel

Type: string

ProSimilarityBucketsModel

Name Type
high integer
low integer
medium integer

ProSimilarityHitModel

Name Type
categories Array<string>
context string
docId string
holderText string
label string
link string
riskLevel ProSimilarityRiskLevel
similarityType ProSimilarityType
source ProSimilaritySource
statusText string

ProSimilarityIssueCode

Type: string

ProSimilarityIssueModel

Name Type
code ProSimilarityIssueCode
message string
retryable boolean
source ProSimilaritySource

ProSimilarityRiskLevel

Type: string

ProSimilaritySearchRequest

Name Type
domainTlds Array<string>
limitPerSource integer
niceClasses Array<integer>
query string
sources Array<ProSimilaritySource>

ProSimilaritySearchResponse-Input

Name Type
buckets ProSimilarityBucketsModel
companyIdentityMatch
hits Array<ProSimilarityHitModel>
issues Array<ProSimilarityIssueModel>
state ProSimilarityState
totalCount integer

ProSimilaritySearchResponse-Output

Name Type
buckets ProSimilarityBucketsModel
companyIdentityMatch
hits Array<ProSimilarityHitModel>
issues Array<ProSimilarityIssueModel>
state ProSimilarityState
totalCount integer

ProSimilaritySource

Type: string

ProSimilarityState

Type: string

ProSimilarityType

Type: string

ProTextLanguage

Type: string

ProTrademarkHolderModel

Name Type
city
country
name string

ProTrademarkIdentityHitModel

Name Type
applicationDate
applicationNumber
docId string
holder ProTrademarkHolderModel
link string
logoUrl
niceClasses Array<string>
register ProTrademarkRegister
registrationDate
registrationNumber
status ProTrademarkStatus
wordmark string

ProTrademarkIdentitySearchRequest

Name Type
niceClasses Array<integer>
query string
registers Array<ProTrademarkRegister>

ProTrademarkIdentitySearchResponse-Input

Name Type
hits Array<ProTrademarkIdentityHitModel>
totalCount integer

ProTrademarkIdentitySearchResponse-Output

Name Type
hits Array<ProTrademarkIdentityHitModel>
totalCount integer

ProTrademarkRegister

Type: string

ProTrademarkStatus

Type: string

ProVerdictTone

Type: string

ProVerdictValue

Type: string

RegistrableNamesModel

Name Type
de string
en string
fr string
it string

RestrictedTermCategoryModel

Name Type
code string
defaultSeverity string
description
id integer
isActive boolean
matchMode string
name string
ruleRef
sectionNumber
sectionTitle

RestrictedTermCreateRequest

Name Type
categoryCode string
createdBy
description
languageCode
matchModeOverride
severityOverride
term string

RestrictedTermListResponse

Name Type
items Array<RestrictedTermModel>
limit integer
offset integer
total integer

RestrictedTermModel

Name Type
categoryCode string
categoryId integer
createdAt string
createdBy
description
id integer
isActive boolean
languageCode
matchModeOverride
severityOverride
source string
term string
updatedAt string

RestrictedTermUpdateRequest

Name Type
categoryCode
description
isActive
languageCode
matchModeOverride
severityOverride
term

RiskLevelParam

Type: string

RiskProfile

Type: string

ScreeningAssessmentIssueCatalogItem

Name Type
category FlagCategory
code string
message string
severity FlagSeverity

ScreeningCheckStatesModel

Name Type
conflicts ScreeningCheckStatus
domains ScreeningCheckStatus
ehraCompliance ScreeningCheckStatus
trademarks ScreeningCheckStatus

ScreeningCheckStatus

Type: string

ScreeningConflictsDetailsModel

Name Type
hasMoreMatches boolean
highestRisk
identityMatch
identityMatchFound boolean
matchCountsByRisk ScreeningRiskCountsModel
similarMatchCount integer
topMatches Array<SimilarMatchResponse>

ScreeningConflictsOptions

Name Type
enabled boolean
limit integer
minRisk RiskLevelParam

ScreeningDetailsModel

Name Type
conflicts
domains
ehraCompliance
trademarks

ScreeningDomainsDetailsModel

Name Type
likelyAvailableCount integer
registeredCount integer
results Array<DomainAvailabilityResultResponse>
unknownCount integer

ScreeningDomainsOptions

Name Type
enabled boolean
label
tlds

ScreeningDriverCatalogItem

Name Type
code ScreeningDriverCode
defaultSeverity ScreeningDriverSeverity
message string
source ScreeningDriverSource

ScreeningDriverCode

Type: string

ScreeningDriverModel

Name Type
code ScreeningDriverCode
severity ScreeningDriverSeverity
source ScreeningDriverSource

ScreeningDriverSeverity

Type: string

ScreeningDriverSource

Type: string

ScreeningEhraComplianceDetailsModel

Name Type
issues Array<NameIssueModel>
semanticFailOpen

ScreeningEhraComplianceOptions

Name Type
enabled boolean

ScreeningExecutionIssueModel

Name Type
check string
code string
message string
retryable

ScreeningNextAction

Type: string

ScreeningPrimaryConcernModel

Name Type
code ScreeningDriverCode
label
referenceId
risk
severity ScreeningDriverSeverity
source ScreeningDriverSource

ScreeningResponseCatalogModel

Name Type
assessmentIssueCategories Array<FlagCategory>
assessmentIssueCodes Array<ScreeningAssessmentIssueCatalogItem>
assessmentIssueSeverities Array<FlagSeverity>
checkStates Array<ScreeningCheckStatus>
driverCodes Array<ScreeningDriverCatalogItem>
driverSeverities Array<ScreeningDriverSeverity>
driverSources Array<ScreeningDriverSource>
errorCodes Array<ErrorCode>
nextActions Array<ScreeningNextAction>
overallStatuses Array<AssessmentStatus>
resultStates Array<ScreeningResultState>
riskLevels Array<RiskLevelParam>

ScreeningResultState

Type: string

ScreeningRiskCountsModel

Name Type
high integer
low integer
medium integer

ScreeningTrademarksDetailsModel

Name Type
goodsServicesContextApplied boolean
hasMoreMatches boolean
highestRisk
matchCountsByRisk ScreeningRiskCountsModel
similarMatchCount integer
topMatches Array<TrademarkSimilarMatchResponse>

ScreeningTrademarksOptions

Name Type
enabled boolean
limit integer
minRisk RiskLevelParam
niceClasses

SearchConsumerMetricsModel

Name Type
avgDurationMs
consumerCode
consumerId
consumerName
errorRequests integer
latestRequestAt
p95DurationMs
successRequests integer
totalRequests integer

SearchConsumerMetricsResponse

Name Type
items Array<SearchConsumerMetricsModel>

SearchEventListResponse

Name Type
items Array<SearchEventLogModel>
limit integer
offset integer
total integer

SearchEventLogModel

Name Type
clientIp
consumerCode
consumerId
consumerName
createdAt string
durationMs
endpoint string
id integer
params
resultSummary
searchTerm string
statusCode integer
traceId
userAgent

SearchInputEcho

Name Type
name string
nameCore string
nameNorm string
phoneticAlt string
phoneticPrimary string

SearchMetricsOverviewResponse

Name Type
avgDurationMs
errorRequests integer
p95DurationMs
periodEnd
periodStart
successRequests integer
totalRequests integer
uniqueConsumers integer
uniqueSearchTerms integer

SearchRequest

Name Type
limit integer
minRisk RiskLevelParam
name string

SearchResponse

Name Type
identityMatch
input SearchInputEcho
registrable boolean
similarMatches Array<SimilarMatchResponse>

SearchTopTermModel

Name Type
avgDurationMs
requestCount integer
searchTerm string
uniqueConsumers integer

SearchTopTermsResponse

Name Type
items Array<SearchTopTermModel>

SearchTraceDetailResponse

Name Type
event SearchEventLogModel
traceId string

SemanticRegistrationEvaluationV2Model

Name Type
canBeRegistered boolean
primaryRejectionReason
requiresLegalReview boolean
ruleGeographicFantasy SemanticRuleEvaluationV2Model
rulePurelyDescriptive SemanticRuleEvaluationV2Model
rulePurposeDeception SemanticRuleEvaluationV2Model
ruleRegulatedTermsLicensing SemanticRuleEvaluationV2Model

SemanticRuleEvaluationV2Model

Name Type
analysis string
confidence string
isViolation boolean

SemanticSignalsModel

Name Type
containsGeographicTerm
extractedGeographicTerms Array<string>
gamblingTermsDetected Array<string>
hasFantasyElement
healthClaimsDetected Array<string>
impliedActivities Array<string>
impliedGamblingActivity
impliedHealthcareActivity
impliedInvestmentOrBankingActivity
isGeographicFantasy
isNatureGeographicTerm
isPurelyDescriptive
misleadingRisk
multipleLanguagesPresent
offensiveOrDiscriminatoryContentDetected
protectedOrgReferenceLikely
publicPolicyCategories Array<string>
publicPolicyConcernDetected
publicPolicyReason
purposeCoveredActivities Array<string>
purposeRelation
purposeRelationConfidence
purposeRelationNameEvidence Array<string>
purposeRelationPurposeEvidence Array<string>
purposeRelationReason
shouldTriggerDeceptivePurpose
translatedUntranslatableElements
translationsSemanticallyMatch
uncoveredImpliedActivities Array<string>
wellKnownBrandReason
wellKnownBrandReferenceLikely
wellKnownBrandTermsDetected Array<string>

SimilarMatchResponse

Name Type
legalSeat
nameDisplay string
nameNorm string
phoneticMatch boolean
risk RiskLevelParam
sourceCompanyId string
visualScore number

StatsResponse

Name Type
active_companies integer
deleted_companies integer
last_ingestion
total_companies integer
total_company_names integer

SupportedLegalForm

Type: string

TrademarkDetailResponse

Name Type
applicationDate
applicationNumber
colorClaimed
expiryDate
isDeleted boolean
markCategory
markFeatureCategory
niceClasses Array<integer>
parties Array<TrademarkPartyDetailModel>
registrationDate
registrationNumber
registrationOfficeCode
sourceRecordId string
sourceSystem string
status
viennaClassifications Array<TrademarkViennaClassificationModel>
wordmark string
wordmarkNorm string

TrademarkPartyDetailModel

Name Type
addressLines Array<string>
countryCode
fullName
legalEntityName
role string

TrademarkSearchInputEcho

Name Type
niceClasses Array<integer>
phoneticAlt string
phoneticPrimary string
query string
queryCore string
queryNorm string

TrademarkSearchRequest

Name Type
limit integer
minRisk RiskLevelParam
niceClasses
query string

TrademarkSearchResponse

Name Type
goodsServicesBasis string
input TrademarkSearchInputEcho
similarMatches Array<TrademarkSimilarMatchResponse>

TrademarkSimilarMatchResponse

Name Type
applicationNumberText
classOverlap Array<integer>
markText
markTextNorm string
matchBasis Array<string>
niceClasses Array<integer>
phoneticMatch boolean
registrationNumber
relatedClassOverlap Array<integer>
risk RiskLevelParam
sourceRecordId string
status
visualScore number

TrademarkViennaClassificationModel

Name Type
category
division
section

ValidationError

Name Type
loc Array<>
msg string
type string

ValidationIssueModel

Name Type
code string
message string
ruleRef
severity ValidationSeverity
source string

ValidationSeverity

Type: string

VersionResponse

Name Type
build_time
environment
git_sha
image_digest
image_ref
service string
version string

Security schemes

Name Type Scheme Description
ClientApiKeyAuth apiKey Client API key for public endpoints.