{ "aid": "swaggerhub.generixgroup8:afnor-directory-service-1.2.0", "name": "AFNOR Directory Service", "type": "Index", "description": "\nThe __Directory Service__ API allows you to:\n- View and search for companies (SIREN)\n- View and search for establishments (SIRET)\n- View, and search for routing codes\n- View, and search for directory entries\n\n**Authentication :** Each endpoint must be called with an access token (Bearer). This token is retrieved by a call to a token URL.\n\n---\n## Siren\n\nCompany by Siren number\n\n- `POST /siren/search` => Search for companies (legal unit) meeting all the criteria passed as parameters, potentially multiple results returned.\n - Permissions : _according to your permissions_\n - **Request Body** : `{ }`\n - filters : the list of filters to apply to the search.\n - sorting : sorting criteria by field with ascending or descending value.\n - fields : the list of fields expected in the response.\n - limit : the maximum number of results to return.\n - ignore : a number designating the offset to apply to the returned results. Useful for pagination.\n - Réponse : a paginated list of siren resources (legal unit).\n\n- `GET /siren/code-insee:{siren}` => Consult a siren (legal unit) identified by a siren passed as a parameter.\n - Permissions : _according to your permissions_\n - Mandatory parameter: a SIREN number.\n - Response : the details of a siren resource (legal unit).\n\n### Scenarios\n\nExample scenarios :\n\n1. `POST /siren/search` => Search for companies (legal units) meeting all the criteria passed as parameters, potentially returning multiple results.\n\n2. `GET /siren/code-insee:{siren}` => Get company details.\n\n---\n## Siret\n\nFacility by SIRET number\n\n- `POST /siret/search` => Search for establishments meeting all of the criteria passed as parameters, potentially returning multiple results.\n - Permissions : _according to your permissions_\n - **Request body** : `{ }`\n - filters: the list of filters to apply to the search.\n - sorting: sort criteria by field with ascending or descending value.\n - fields: the list of fields expected in the response.\n - include: the list of relationships (siren) to include in the returned results.\n - limit: the maximum number of results to return.\n - ignore: A number designating the offset to apply to the returned results. Useful for pagination.\n - Response : a paginated list of SIRET (facility) resources.\n\n- `GET /siret/code-insee:{siret}` => Get a SIRET (facility) identified by SIRET.\n - Permissions : _according to your permissions_\n - Mandatory parameter: a SIRET number.\n - Response : the details of a SIRET resource (facility).\n\n### Scenarios\n\nExample scenarios :\n\n1. `POST /siret/search` => Search for establishments meeting all of the criteria passed as parameters, potentially returning multiple results.\n\n2. `GET /siret/code-insee:{siret}` => Get the facility details.\n\n---\n## Routing Code\n\n- `POST /routing-code/search` => Search for routing codes that meet all the criteria passed as parameters, potentially returning multiple results.\n - Permissions : _according to your permissions_\n - **Request body** : `{ }`\n - filters: the list of filters to apply to the search.\n - sorting: sort criteria by field with ascending or descending value.\n - fields: the list of fields expected in the response.\n - limit: the maximum number of results to return\n - ignore: A number designating the offset to apply to the returned results. Useful for pagination.\n - Response : a paginated list of routing code resources.\n\n- `GET /routing-code/siret:{siret}/code:{routing-identifier}` => Consult the routing code identified by the SIRET and a routing identifier.\n - Permissions : _according to your permissions_\n - Mandatory parameter: the SIRET number of the routing code for which you wish to obtain details. \n - Mandatory parameter: the routing identifier for which you want to obtain details.\n - Response : the detail of a routing code.\n\n### Scenarios\n\nExample scenarios :\n\n1. `POST /routing-code/search` => Search for routing codes that meet all the criteria passed as parameters, potentially returning multiple results.\n\n2. `GET /routing-code/siret:{siret}/code:{routing-identifier}` => Get the details of a routing code by SIRET and a routing identifier.\n---\n## Directory Line\n\nThe directory line is the location at which the recipient wishes to receive his invoices (SIREN or SIREN/SIRET or SIREN/SIRET/routingIdentifier). The routing identifier can be a service code, a GLN 0224 code, an ODETTE 0088 code or an internal management code used by the recipient.\n\n- `POST /directory-line/search` => Search for directory lines that meet all the criteria passed as parameters, potentially returning multiple results.\n - Permissions : _according to your permissions_\n - **Request body** : `{ }`\n - filters: the list of filters to apply to the search.\n - sorting: sort criteria by field with ascending or descending value.\n - fields: the list of fields expected in the response.\n - limit: the maximum number of results to return\n - ignore: A number designating the offset to apply to the returned results. Useful for pagination.\n - Response : a paginated list of directory-line resources\n\n- `GET /directory-line/code:{addressing-identifier}` => Get a line in the directory identified by an address identifier.\n - Permissions : _according to your permissions_\n -Mandatory parameter: un identifiant addressage.\n - Response : the detail of a directory line.\n\n### Scenarios\n\nExample scenarios :\n\n 1. `POST /directory-line/search` => Search for directory lines that meet all the criteria passed as parameters, potentially returning multiple results.\n\n 2. `GET /directory-line/code:{addressing-identifier}` => Get a directory line.\n\n---\n## Supervisor\n\n- `GET /healthcheck` => Check if the Directory API is online.\n - Permissions : _according to your permissions_\n\n\nHistory:\n - `1.0.0` : First release\n - `1.1.0` : Fixes following SG5 meeting\n - Remove the concept of history\n - Remove the platformRegistrationNumber, effectiveEndDate, dateFrom and dateTo from the available filters, the payloads and the responses\n - Remove PUT /v1/directory-line/id-instance:{id-instance}\n - Add the major version number in the path \n - Remove the PPF-affiliations from the headers\n - Standardize the language so that no French remains in the SWAGGER\n - Standardize the responses from GET /v1/siret/id-instance:{id-instance} and GET /v1/siret/code-insee:{siren}\n - Modify the routingCode regex\n - Change PDP to PA\n - Translate PPF and PA into a UNTDID 3035 code\n - `1.2.0` : Fixes following 2026/01/12 SG5 meeting\n - __WARNING: Breaking changes occured in this version__\n - Remove POST /v1/directory-line\n - Remove DELETE /v1/directory-line/id-instance:{id-instance}\n - Remove PATCH /v1/directory-line/id-instance:{id-instance}\n - Remove GET /v1/siren/id-instance:{id-instance}\n - Remove GET /v1/siret/id-instance:{id-instance}\n - Remove GET /v1/routing-code/id-instance:{id-instance}\n - Remove GET /v1/directory-line/id-instance:{id-instance}\n - Remove id-instance from the ressource fields\n - Change platformStatus into directoryLineStatus\n - Add Upcoming as a directoryLineStatus option \n - Add OAuth2 security scheme\n - Remove Accept-language and Content-Language from the header\n - Change diffusible into salesProspectingForbidden\n - Add 204 response for search routes\n", "url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/swaggerhub.generixgroup8/afnor-directory-service/1.2.0/apis.json", "tags": [ "swaggerhub.generixgroup8", "afnor-directory-service" ], "created": "2026-04-01", "modified": "2026-04-01", "specificationVersion": "0.19", "access": "3rd-Party", "maintainers": [ { "FN": "Jentic", "X-github": "jentic", "url": "https://github.com/jentic" } ], "apis": [ { "aid": "swaggerhub.generixgroup8:afnor-directory-service-1.2.0", "name": "AFNOR Directory Service", "description": "\nThe __Directory Service__ API allows you to:\n- View and search for companies (SIREN)\n- View and search for establishments (SIRET)\n- View, and search for routing codes\n- View, and search for directory entries\n\n**Authentication :** Each endpoint must be called with an access token (Bearer). This token is retrieved by a call to a token URL.\n\n---\n## Siren\n\nCompany by Siren number\n\n- `POST /siren/search` => Search for companies (legal unit) meeting all the criteria passed as parameters, potentially multiple results returned.\n - Permissions : _according to your permissions_\n - **Request Body** : `{ }`\n - filters : the list of filters to apply to the search.\n - sorting : sorting criteria by field with ascending or descending value.\n - fields : the list of fields expected in the response.\n - limit : the maximum number of results to return.\n - ignore : a number designating the offset to apply to the returned results. Useful for pagination.\n - Réponse : a paginated list of siren resources (legal unit).\n\n- `GET /siren/code-insee:{siren}` => Consult a siren (legal unit) identified by a siren passed as a parameter.\n - Permissions : _according to your permissions_\n - Mandatory parameter: a SIREN number.\n - Response : the details of a siren resource (legal unit).\n\n### Scenarios\n\nExample scenarios :\n\n1. `POST /siren/search` => Search for companies (legal units) meeting all the criteria passed as parameters, potentially returning multiple results.\n\n2. `GET /siren/code-insee:{siren}` => Get company details.\n\n---\n## Siret\n\nFacility by SIRET number\n\n- `POST /siret/search` => Search for establishments meeting all of the criteria passed as parameters, potentially returning multiple results.\n - Permissions : _according to your permissions_\n - **Request body** : `{ }`\n - filters: the list of filters to apply to the search.\n - sorting: sort criteria by field with ascending or descending value.\n - fields: the list of fields expected in the response.\n - include: the list of relationships (siren) to include in the returned results.\n - limit: the maximum number of results to return.\n - ignore: A number designating the offset to apply to the returned results. Useful for pagination.\n - Response : a paginated list of SIRET (facility) resources.\n\n- `GET /siret/code-insee:{siret}` => Get a SIRET (facility) identified by SIRET.\n - Permissions : _according to your permissions_\n - Mandatory parameter: a SIRET number.\n - Response : the details of a SIRET resource (facility).\n\n### Scenarios\n\nExample scenarios :\n\n1. `POST /siret/search` => Search for establishments meeting all of the criteria passed as parameters, potentially returning multiple results.\n\n2. `GET /siret/code-insee:{siret}` => Get the facility details.\n\n---\n## Routing Code\n\n- `POST /routing-code/search` => Search for routing codes that meet all the criteria passed as parameters, potentially returning multiple results.\n - Permissions : _according to your permissions_\n - **Request body** : `{ }`\n - filters: the list of filters to apply to the search.\n - sorting: sort criteria by field with ascending or descending value.\n - fields: the list of fields expected in the response.\n - limit: the maximum number of results to return\n - ignore: A number designating the offset to apply to the returned results. Useful for pagination.\n - Response : a paginated list of routing code resources.\n\n- `GET /routing-code/siret:{siret}/code:{routing-identifier}` => Consult the routing code identified by the SIRET and a routing identifier.\n - Permissions : _according to your permissions_\n - Mandatory parameter: the SIRET number of the routing code for which you wish to obtain details. \n - Mandatory parameter: the routing identifier for which you want to obtain details.\n - Response : the detail of a routing code.\n\n### Scenarios\n\nExample scenarios :\n\n1. `POST /routing-code/search` => Search for routing codes that meet all the criteria passed as parameters, potentially returning multiple results.\n\n2. `GET /routing-code/siret:{siret}/code:{routing-identifier}` => Get the details of a routing code by SIRET and a routing identifier.\n---\n## Directory Line\n\nThe directory line is the location at which the recipient wishes to receive his invoices (SIREN or SIREN/SIRET or SIREN/SIRET/routingIdentifier). The routing identifier can be a service code, a GLN 0224 code, an ODETTE 0088 code or an internal management code used by the recipient.\n\n- `POST /directory-line/search` => Search for directory lines that meet all the criteria passed as parameters, potentially returning multiple results.\n - Permissions : _according to your permissions_\n - **Request body** : `{ }`\n - filters: the list of filters to apply to the search.\n - sorting: sort criteria by field with ascending or descending value.\n - fields: the list of fields expected in the response.\n - limit: the maximum number of results to return\n - ignore: A number designating the offset to apply to the returned results. Useful for pagination.\n - Response : a paginated list of directory-line resources\n\n- `GET /directory-line/code:{addressing-identifier}` => Get a line in the directory identified by an address identifier.\n - Permissions : _according to your permissions_\n -Mandatory parameter: un identifiant addressage.\n - Response : the detail of a directory line.\n\n### Scenarios\n\nExample scenarios :\n\n 1. `POST /directory-line/search` => Search for directory lines that meet all the criteria passed as parameters, potentially returning multiple results.\n\n 2. `GET /directory-line/code:{addressing-identifier}` => Get a directory line.\n\n---\n## Supervisor\n\n- `GET /healthcheck` => Check if the Directory API is online.\n - Permissions : _according to your permissions_\n\n\nHistory:\n - `1.0.0` : First release\n - `1.1.0` : Fixes following SG5 meeting\n - Remove the concept of history\n - Remove the platformRegistrationNumber, effectiveEndDate, dateFrom and dateTo from the available filters, the payloads and the responses\n - Remove PUT /v1/directory-line/id-instance:{id-instance}\n - Add the major version number in the path \n - Remove the PPF-affiliations from the headers\n - Standardize the language so that no French remains in the SWAGGER\n - Standardize the responses from GET /v1/siret/id-instance:{id-instance} and GET /v1/siret/code-insee:{siren}\n - Modify the routingCode regex\n - Change PDP to PA\n - Translate PPF and PA into a UNTDID 3035 code\n - `1.2.0` : Fixes following 2026/01/12 SG5 meeting\n - __WARNING: Breaking changes occured in this version__\n - Remove POST /v1/directory-line\n - Remove DELETE /v1/directory-line/id-instance:{id-instance}\n - Remove PATCH /v1/directory-line/id-instance:{id-instance}\n - Remove GET /v1/siren/id-instance:{id-instance}\n - Remove GET /v1/siret/id-instance:{id-instance}\n - Remove GET /v1/routing-code/id-instance:{id-instance}\n - Remove GET /v1/directory-line/id-instance:{id-instance}\n - Remove id-instance from the ressource fields\n - Change platformStatus into directoryLineStatus\n - Add Upcoming as a directoryLineStatus option \n - Add OAuth2 security scheme\n - Remove Accept-language and Content-Language from the header\n - Change diffusible into salesProspectingForbidden\n - Add 204 response for search routes\n", "image": "", "baseURL": "https://{sub-domain}.{domain}/directory-service", "humanURL": "https://www.impots.gouv.fr", "version": "1.2.0", "tags": [ "swaggerhub.generixgroup8", "afnor-directory-service" ], "properties": [ { "type": "OpenAPI", "name": "OpenAPI definition", "url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/swaggerhub.generixgroup8/afnor-directory-service/1.2.0/openapi.json", "mediaType": "application/openapi+json" }, { "type": "GitHubRepo", "url": "https://github.com/jentic/jentic-public-apis/tree/main/apis/openapi/swaggerhub.generixgroup8/afnor-directory-service/1.2.0" } ], "contact": [ { "FN": "AFNOR", "email": "sg5@afnor.org" } ] } ] }