Aller au contenu

Company Verifier API

Port : 8007 | NodePort : 30007 | Repo : solyntek/djinn/services/djinn-company-verifier

Vérification continue des entreprises et suivi de la conformité fournisseurs.

Endpoints

Données live (SIRENE / BODACC)

Méthode Route Description
GET /health Health check (inclut état circuit breakers)
GET /v1/companies/{siren} Infos entreprise (SIRENE, live)
GET /v1/companies/{siren}/compliance Statut conformité live (SIRENE + BODACC)
GET /v1/companies/{siren}/alerts Alertes BODACC (procédures collectives), paginées
POST /v1/companies/track Démarrer le suivi d'un SIREN pour un tenant

Suivi documentaire (store local)

Méthode Route Description
POST /v1/companies Enregistrer le profil d'une entreprise suivie
POST /v1/companies/lookup Rechercher par SIREN/SIRET/nom (entreprises suivies)
GET /v1/companies/{siren}/documents/compliance Conformité documentaire (documents + alertes)
POST /v1/companies/{siren}/documents Upload document conformité
GET /v1/companies/{siren}/documents Lister documents
GET /v1/alerts Alertes d'expiration de documents

Conformité live vs documentaire

GET /v1/companies/{siren}/compliance interroge les sources externes SIRENE et BODACC en temps réel (statut : compliant / at_risk / non_compliant / unknown, avec dégradation gracieuse si une source est indisponible). GET /v1/companies/{siren}/documents/compliance évalue le suivi documentaire local (Kbis, URSSAF, etc.) de l'entreprise.

Documents de conformité

Type Validité Source
Kbis 3 mois Infogreffe / INPI
Attestation URSSAF 6 mois Upload fournisseur
Attestation fiscale 1 an Upload fournisseur
RC Pro 1 an Upload fournisseur

APIs externes

API Coût Données
SIRENE (INSEE) Gratuit SIREN, raison sociale, NAF, effectifs
BODACC (DILA) Gratuit Annonces légales, procédures collectives
INPI/RNE Gratuit Dirigeants, actes
Pappers Payant Comptes annuels, bénéficiaires effectifs

Référence interactive

Générée à chaque build depuis la spec versionnée openapi/company-verifier-v1.json (ADR-011) — aucune route documentée à la main.

Djinn Company Verifier 0.1.0

Vérification et suivi conformité des entreprises


Endpoints


GET /health

Health

Responses

{
    "status": "string",
    "service": "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",
            "default": "ok"
        },
        "service": {
            "type": "string",
            "title": "Service",
            "default": "company-verifier"
        }
    },
    "type": "object",
    "title": "HealthResponse"
}

GET /v1/companies/{siren}

Get Company V1

Description

Lookup company info from SIRENE.

Input parameters

Parameter In Type Default Nullable Description
siren path string No
X-API-Key header No

Responses

{
    "siren": "string",
    "siret": null,
    "name": "string",
    "legal_form": null,
    "address": null,
    "naf_code": null,
    "status": "active",
    "creation_date": 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": {
        "siren": {
            "type": "string",
            "pattern": "^\\d{9}$",
            "title": "Siren"
        },
        "siret": {
            "anyOf": [
                {
                    "type": "string",
                    "pattern": "^\\d{14}$"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Siret"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "legal_form": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Legal Form"
        },
        "address": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Address"
        },
        "naf_code": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Naf Code"
        },
        "status": {
            "type": "string",
            "enum": [
                "active",
                "ceased",
                "unknown"
            ],
            "title": "Status",
            "default": "unknown"
        },
        "creation_date": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Creation Date"
        }
    },
    "type": "object",
    "required": [
        "siren",
        "name"
    ],
    "title": "Company",
    "description": "Modèle entreprise exposé par les routes /v1/."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ 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"
}

GET /v1/companies/{siren}/compliance

Get Compliance V1

Description

Get compliance status combining SIRENE and BODACC data.

Input parameters

Parameter In Type Default Nullable Description
siren path string No
X-API-Key header No

Responses

{
    "siren": "string",
    "company": null,
    "compliance_status": "compliant",
    "data_freshness": "live",
    "sources_unavailable": [
        "string"
    ],
    "warnings": [
        "string"
    ],
    "alerts_count": 0,
    "checked_at": "2022-04-13T15:42:05.901Z"
}
⚠️ 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": {
        "siren": {
            "type": "string",
            "title": "Siren"
        },
        "company": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/Company"
                },
                {
                    "type": "null"
                }
            ]
        },
        "compliance_status": {
            "type": "string",
            "enum": [
                "compliant",
                "at_risk",
                "non_compliant",
                "unknown"
            ],
            "title": "Compliance Status"
        },
        "data_freshness": {
            "type": "string",
            "enum": [
                "live",
                "stale",
                "partial",
                "unavailable"
            ],
            "title": "Data Freshness"
        },
        "sources_unavailable": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Sources Unavailable",
            "default": []
        },
        "warnings": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Warnings",
            "default": []
        },
        "alerts_count": {
            "type": "integer",
            "title": "Alerts Count",
            "default": 0
        },
        "checked_at": {
            "type": "string",
            "format": "date-time",
            "title": "Checked At"
        }
    },
    "type": "object",
    "required": [
        "siren",
        "company",
        "compliance_status",
        "data_freshness",
        "checked_at"
    ],
    "title": "ComplianceResponse",
    "description": "Réponse statut conformité (routes /v1/)."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ 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"
}

GET /v1/companies/{siren}/alerts

Get Alerts V1

Description

Get BODACC alerts for a company, paginated.

Input parameters

Parameter In Type Default Nullable Description
limit query integer 20 No
offset query integer 0 No
siren path string No
X-API-Key header No

Responses

[
    {}
]
⚠️ 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
{
    "type": "array",
    "items": {
        "type": "object",
        "additionalProperties": true
    },
    "title": "Response Get Alerts V1 V1 Companies  Siren  Alerts Get"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ 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 /v1/companies/track

Track Company

Description

Start tracking a company by SIREN for a given tenant.

Input parameters

Parameter In Type Default Nullable Description
X-API-Key header No

Request body

{
    "siren": "string",
    "tenant_id": "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": {
        "siren": {
            "type": "string",
            "pattern": "^\\d{9}$",
            "title": "Siren"
        },
        "tenant_id": {
            "type": "string",
            "title": "Tenant Id"
        }
    },
    "type": "object",
    "required": [
        "siren",
        "tenant_id"
    ],
    "title": "TrackRequest",
    "description": "Requête de suivi d'entreprise."
}

Responses

{
    "siren": "string",
    "tenant_id": "string",
    "tracked": 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": {
        "siren": {
            "type": "string",
            "title": "Siren"
        },
        "tenant_id": {
            "type": "string",
            "title": "Tenant Id"
        },
        "tracked": {
            "type": "boolean",
            "title": "Tracked",
            "default": true
        }
    },
    "type": "object",
    "required": [
        "siren",
        "tenant_id"
    ],
    "title": "TrackResponse"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ 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 /v1/companies

Add Company

Request body

{
    "siren": "string",
    "siret": null,
    "name": "string",
    "legal_form": null,
    "naf_code": null,
    "naf_label": null,
    "address": null,
    "postal_code": null,
    "city": null,
    "creation_date": null,
    "workforce_bracket": null,
    "is_active": 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 request body
{
    "properties": {
        "siren": {
            "type": "string",
            "pattern": "^\\d{9}$",
            "title": "Siren",
            "description": "SIREN (9 digits)"
        },
        "siret": {
            "anyOf": [
                {
                    "type": "string",
                    "pattern": "^\\d{14}$"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Siret",
            "description": "SIRET (14 digits)"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "legal_form": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Legal Form"
        },
        "naf_code": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Naf Code",
            "description": "Code APE/NAF"
        },
        "naf_label": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Naf Label"
        },
        "address": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Address"
        },
        "postal_code": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Postal Code"
        },
        "city": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "City"
        },
        "creation_date": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Creation Date"
        },
        "workforce_bracket": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Workforce Bracket"
        },
        "is_active": {
            "type": "boolean",
            "title": "Is Active",
            "default": true
        }
    },
    "type": "object",
    "required": [
        "siren",
        "name"
    ],
    "title": "CompanyInfo",
    "description": "Informations d'une entreprise (depuis API SIRENE)."
}

Responses

{
    "siren": "string",
    "siret": null,
    "name": "string",
    "legal_form": null,
    "naf_code": null,
    "naf_label": null,
    "address": null,
    "postal_code": null,
    "city": null,
    "creation_date": null,
    "workforce_bracket": null,
    "is_active": 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": {
        "siren": {
            "type": "string",
            "pattern": "^\\d{9}$",
            "title": "Siren",
            "description": "SIREN (9 digits)"
        },
        "siret": {
            "anyOf": [
                {
                    "type": "string",
                    "pattern": "^\\d{14}$"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Siret",
            "description": "SIRET (14 digits)"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "legal_form": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Legal Form"
        },
        "naf_code": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Naf Code",
            "description": "Code APE/NAF"
        },
        "naf_label": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Naf Label"
        },
        "address": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Address"
        },
        "postal_code": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Postal Code"
        },
        "city": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "City"
        },
        "creation_date": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Creation Date"
        },
        "workforce_bracket": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Workforce Bracket"
        },
        "is_active": {
            "type": "boolean",
            "title": "Is Active",
            "default": true
        }
    },
    "type": "object",
    "required": [
        "siren",
        "name"
    ],
    "title": "CompanyInfo",
    "description": "Informations d'une entreprise (depuis API SIRENE)."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ 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 /v1/companies/lookup

Lookup

Request body

{
    "siren": null,
    "siret": null,
    "name": 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": {
        "siren": {
            "anyOf": [
                {
                    "type": "string",
                    "pattern": "^\\d{9}$"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Siren",
            "description": "SIREN (9 digits)"
        },
        "siret": {
            "anyOf": [
                {
                    "type": "string",
                    "pattern": "^\\d{14}$"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Siret",
            "description": "SIRET (14 digits)"
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Name",
            "description": "Raison sociale (recherche partielle)"
        }
    },
    "type": "object",
    "title": "CompanyLookupRequest",
    "description": "Requête de recherche d'entreprise."
}

Responses

{
    "results": [
        {
            "siren": "string",
            "siret": null,
            "name": "string",
            "legal_form": null,
            "naf_code": null,
            "naf_label": null,
            "address": null,
            "postal_code": null,
            "city": null,
            "creation_date": null,
            "workforce_bracket": null,
            "is_active": true
        }
    ],
    "total": 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": {
        "results": {
            "items": {
                "$ref": "#/components/schemas/CompanyInfo"
            },
            "type": "array",
            "title": "Results"
        },
        "total": {
            "type": "integer",
            "title": "Total"
        }
    },
    "type": "object",
    "required": [
        "results",
        "total"
    ],
    "title": "CompanyLookupResponse",
    "description": "Réponse de recherche d'entreprise."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ 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"
}

GET /v1/companies/{siren}/documents/compliance

Get Document Compliance

Input parameters

Parameter In Type Default Nullable Description
siren path string No

Responses

{
    "siren": "string",
    "status": "compliant",
    "documents": [
        {
            "id": null,
            "company_siren": "string",
            "document_type": "kbis",
            "filename": null,
            "upload_date": null,
            "issue_date": null,
            "expiry_date": null,
            "status": null,
            "verification_code": null,
            "notes": null
        }
    ],
    "alerts": [
        {
            "id": null,
            "company_siren": "string",
            "company_name": "string",
            "alert_type": "document_expiring",
            "message": "string",
            "severity": "string",
            "created_at": null,
            "resolved": 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": {
        "siren": {
            "type": "string",
            "title": "Siren"
        },
        "status": {
            "$ref": "#/components/schemas/ComplianceStatus"
        },
        "documents": {
            "items": {
                "$ref": "#/components/schemas/ComplianceDocument"
            },
            "type": "array",
            "title": "Documents"
        },
        "alerts": {
            "items": {
                "$ref": "#/components/schemas/Alert"
            },
            "type": "array",
            "title": "Alerts"
        }
    },
    "type": "object",
    "required": [
        "siren",
        "status",
        "documents",
        "alerts"
    ],
    "title": "DocumentComplianceResponse"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ 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 /v1/companies/{siren}/documents

Add Document

Input parameters

Parameter In Type Default Nullable Description
siren path string No

Request body

{
    "id": null,
    "company_siren": "string",
    "document_type": "kbis",
    "filename": null,
    "upload_date": null,
    "issue_date": null,
    "expiry_date": null,
    "status": "compliant",
    "verification_code": null,
    "notes": 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": {
        "id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Id"
        },
        "company_siren": {
            "type": "string",
            "title": "Company Siren"
        },
        "document_type": {
            "$ref": "#/components/schemas/DocumentType"
        },
        "filename": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Filename"
        },
        "upload_date": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Upload Date"
        },
        "issue_date": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Issue Date"
        },
        "expiry_date": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Expiry Date"
        },
        "status": {
            "$ref": "#/components/schemas/ComplianceStatus",
            "default": "pending"
        },
        "verification_code": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Verification Code",
            "description": "Code de vérification URSSAF (15 chars)"
        },
        "notes": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Notes"
        }
    },
    "type": "object",
    "required": [
        "company_siren",
        "document_type"
    ],
    "title": "ComplianceDocument",
    "description": "Document de conformité d'une entreprise."
}

Responses

{
    "id": null,
    "company_siren": "string",
    "document_type": "kbis",
    "filename": null,
    "upload_date": null,
    "issue_date": null,
    "expiry_date": null,
    "status": "compliant",
    "verification_code": null,
    "notes": 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": {
        "id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Id"
        },
        "company_siren": {
            "type": "string",
            "title": "Company Siren"
        },
        "document_type": {
            "$ref": "#/components/schemas/DocumentType"
        },
        "filename": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Filename"
        },
        "upload_date": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Upload Date"
        },
        "issue_date": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Issue Date"
        },
        "expiry_date": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Expiry Date"
        },
        "status": {
            "$ref": "#/components/schemas/ComplianceStatus",
            "default": "pending"
        },
        "verification_code": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Verification Code",
            "description": "Code de vérification URSSAF (15 chars)"
        },
        "notes": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Notes"
        }
    },
    "type": "object",
    "required": [
        "company_siren",
        "document_type"
    ],
    "title": "ComplianceDocument",
    "description": "Document de conformité d'une entreprise."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ 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"
}

GET /v1/companies/{siren}/documents

Get Documents

Input parameters

Parameter In Type Default Nullable Description
siren path string No

Responses

[
    {
        "id": null,
        "company_siren": "string",
        "document_type": "kbis",
        "filename": null,
        "upload_date": null,
        "issue_date": null,
        "expiry_date": null,
        "status": "compliant",
        "verification_code": null,
        "notes": 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
{
    "type": "array",
    "items": {
        "$ref": "#/components/schemas/ComplianceDocument"
    },
    "title": "Response Get Documents V1 Companies  Siren  Documents Get"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ 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"
}

GET /v1/alerts

Get Alerts

Input parameters

Parameter In Type Default Nullable Description
limit query integer 50 No
offset query integer 0 No

Responses

[
    {
        "id": null,
        "company_siren": "string",
        "company_name": "string",
        "alert_type": "document_expiring",
        "message": "string",
        "severity": "string",
        "created_at": null,
        "resolved": 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
{
    "type": "array",
    "items": {
        "$ref": "#/components/schemas/Alert"
    },
    "title": "Response Get Alerts V1 Alerts Get"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ 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

Alert

Name Type Description
alert_type AlertType
company_name string
company_siren string
created_at
id
message string
resolved boolean
severity string

AlertType

Type: string

Company

Name Type Description
address
creation_date
legal_form
naf_code
name string
siren string
siret
status string

CompanyInfo

Name Type Description
address
city
creation_date
is_active boolean
legal_form
naf_code Code APE/NAF
naf_label
name string
postal_code
siren string SIREN (9 digits)
siret SIRET (14 digits)
workforce_bracket

CompanyLookupRequest

Name Type Description
name Raison sociale (recherche partielle)
siren SIREN (9 digits)
siret SIRET (14 digits)

CompanyLookupResponse

Name Type Description
results Array<CompanyInfo>
total integer

ComplianceDocument

Name Type Description
company_siren string
document_type DocumentType
expiry_date
filename
id
issue_date
notes
status ComplianceStatus
upload_date
verification_code Code de vérification URSSAF (15 chars)

ComplianceResponse

Name Type Description
alerts_count integer
checked_at string(date-time)
company
compliance_status string
data_freshness string
siren string
sources_unavailable Array<string>
warnings Array<string>

ComplianceStatus

Type: string

DocumentComplianceResponse

Name Type Description
alerts Array<Alert>
documents Array<ComplianceDocument>
siren string
status ComplianceStatus

DocumentType

Type: string

HealthResponse

Name Type Description
service string
status string

HTTPValidationError

Name Type Description
detail Array<ValidationError>

TrackRequest

Name Type Description
siren string
tenant_id string

TrackResponse

Name Type Description
siren string
tenant_id string
tracked boolean

ValidationError

Name Type Description
ctx
input
loc Array<>
msg string
type string