---
updatedAt: 2026-08-24T11:47:25.000Z
agentTools:
  projectIndex: https://b2brouter.readme.io/llms.txt
---

# List the response documents received for an invoice

Lists the response documents received for an invoice, oldest first. A response document is a file another party sent back about your invoice. The `source` field identifies the channel each document arrived through.

Documents received on the invoice exchange network (`source: network`):
- French PPF cross-domain acknowledgement responses (CDARs) reporting the invoice's lifecycle statuses.
- Peppol application responses (buyer acceptance/rejection).
- EDI rejection notices.
- Italian SDI ricevute, including the *mancata consegna* (failed delivery) notice.

Documents issued by a tax authority about the invoice's tax reports (`source` is the authority's transport code):
- `fr.dgfip`: PPF acknowledgements of French e-reporting submissions (acknowledged / registered / refused).
- `pl.ksef`: the KSeF UPO, Poland's official receipt of registration.

Reports for other tax authorities do not contribute response documents yet. Download the original file through `attachment.download_url`; `attachment` is `null` when the response was recorded without a file. Responses addressed to a whole ledger (batch submission) are not listed here — retrieve those with the ledger's `download_response` endpoint. The collection is always returned complete, without pagination: an invoice accumulates at most a handful of response documents.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "B2Brouter API",
    "description": "The B2Brouter API allows you to send and receive electronic documents.",
    "version": "2026-06-26",
    "contact": {
      "name": "Service Delivery Team",
      "email": "servicedelivery@b2brouter.net"
    }
  },
  "servers": [
    {
      "url": "https://api-staging.b2brouter.net",
      "description": "Test server"
    },
    {
      "url": "https://api.b2brouter.net",
      "description": "Production server"
    }
  ],
  "tags": [
    {
      "name": "Invoices",
      "description": "Related to invoices"
    }
  ],
  "paths": {
    "/invoices/{id}/responses": {
      "get": {
        "operationId": "list-invoice-responses",
        "tags": [
          "Invoices"
        ],
        "summary": "List the response documents received for an invoice",
        "description": "Lists the response documents received for an invoice, oldest first. A response document is a file another party sent back about your invoice. The `source` field identifies the channel each document arrived through.\n\nDocuments received on the invoice exchange network (`source: network`):\n- French PPF cross-domain acknowledgement responses (CDARs) reporting the invoice's lifecycle statuses.\n- Peppol application responses (buyer acceptance/rejection).\n- EDI rejection notices.\n- Italian SDI ricevute, including the *mancata consegna* (failed delivery) notice.\n\nDocuments issued by a tax authority about the invoice's tax reports (`source` is the authority's transport code):\n- `fr.dgfip`: PPF acknowledgements of French e-reporting submissions (acknowledged / registered / refused).\n- `pl.ksef`: the KSeF UPO, Poland's official receipt of registration.\n\nReports for other tax authorities do not contribute response documents yet. Download the original file through `attachment.download_url`; `attachment` is `null` when the response was recorded without a file. Responses addressed to a whole ledger (batch submission) are not listed here — retrieve those with the ledger's `download_response` endpoint. The collection is always returned complete, without pagination: an invoice accumulates at most a handful of response documents.",
        "parameters": [
          {
            "$ref": "#/components/parameters/api_version_header"
          },
          {
            "$ref": "#/components/parameters/invoice_id"
          }
        ],
        "responses": {
          "200": {
            "description": "The response documents received for the invoice",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "responses": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "event_name": {
                            "type": "string",
                            "description": "Name of the recorded response event",
                            "example": "notification_c4_state_refused"
                          },
                          "source": {
                            "type": "string",
                            "description": "Channel the document arrived through: `network` or a tax authority transport code",
                            "example": "fr.dgfip"
                          },
                          "received_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "When the response document was received"
                          },
                          "attachment": {
                            "description": "The received file; `null` when none was recorded",
                            "nullable": true,
                            "anyOf": [
                              {
                                "enum": [
                                  null
                                ]
                              },
                              {
                                "allOf": [
                                  {
                                    "$ref": "#/components/schemas/Attachment"
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "download_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Absolute URL to download the file"
                                      }
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "responses": [
                    {
                      "event_name": "notification_c4_state_refused",
                      "source": "fr.dgfip",
                      "received_at": "2026-08-01T10:00:00.000Z",
                      "attachment": {
                        "id": 1,
                        "filename": "cdar_F1_210_9f2a41c7.xml",
                        "content_type": "application/xml",
                        "filesize": 2048,
                        "category": null,
                        "created_at": "2026-08-01T10:00:00.000Z",
                        "download_url": "https://api.b2brouter.net/attachments/download/1/cdar_F1_210_9f2a41c7.xml"
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "api_key": {
        "type": "apiKey",
        "description": "API Key of your account",
        "name": "X-B2B-API-Key",
        "in": "header"
      }
    },
    "parameters": {
      "api_version_header": {
        "name": "X-B2B-API-Version",
        "in": "header",
        "description": "Specifies the version of the API to use in this request. If not specified uses the API-Version set in the group conifguration\nB2Brouter UI Application -> Developers -> API Keys -> API Version\n",
        "required": false,
        "schema": {
          "type": "string",
          "example": "2026-06-26",
          "default": "2026-06-26"
        }
      },
      "invoice_id": {
        "name": "id",
        "in": "path",
        "description": "An internal identifier that is unique to each **Invoice** within B2Brouter.\n",
        "required": true,
        "example": 4053100,
        "schema": {
          "type": "integer"
        }
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "description": "Represents an error object returned in a failed request",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "description": "A unique error code identifying the type of error. See https://developer.b2brouter.net/docs/error_codes for the full code list.",
                "example": "parameter_empty"
              },
              "message": {
                "type": "string",
                "description": "A human-readable error message providing more context about the error.",
                "example": "The parameter 'param' is missing or the value is empty"
              },
              "param": {
                "type": "string",
                "description": "The parameter in the request that caused the error (if applicable).",
                "example": "param"
              },
              "type": {
                "type": "string",
                "description": "The type of error. Currently the only possible value is \"invalid_request_error\".",
                "example": "invalid_request"
              }
            }
          }
        }
      },
      "UnauthorizedError": {
        "type": "object",
        "description": "Represents an error object returned in a failed request",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "description": "A unique error code identifying the type of error.",
                "example": "unauthorized",
                "default": "unauthorized"
              },
              "message": {
                "type": "string",
                "description": "A human-readable error message providing more context about the error.",
                "example": "Invalid API Key provided, or the API key might not have the necessary permissions for this action."
              },
              "type": {
                "type": "string",
                "description": "The type of error, often mirrors the error code for clarity.",
                "example": "invalid_request_error",
                "default": "invalid_request_error"
              }
            }
          }
        }
      },
      "Attachment": {
        "type": "object",
        "description": "Represents an attachment file",
        "properties": {
          "id": {
            "type": "integer",
            "example": 12345
          },
          "filename": {
            "type": "string",
            "example": "invoice.pdf"
          },
          "content_type": {
            "type": "string",
            "example": "application/pdf"
          },
          "filesize": {
            "type": "integer",
            "example": 12345
          },
          "category": {
            "type": "string",
            "nullable": true,
            "example": "original",
            "description": "Attachment category. Notable values:\n- `original`: The legal/original invoice document\n- `pdf_view`: A PDF preview of the invoice\n- `null`: A regular supplementary attachment\n"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2024-01-15T10:30:00.000Z"
          }
        }
      }
    },
    "responses": {
      "Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UnauthorizedError"
            }
          }
        }
      },
      "NotFound": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    }
  }
}
```