Create an entry with ID
Create a new silo entry with the given UUID.
New Documents
The fastest way to upload data to Invopop is by creating an entry with the data
property containing the GOBL JSON of either a pre-built Envelope or a partial document like an Invoice or Party.
The key
property can be used to ensure idempotency, preventing the creation of duplicate entries with the same key within the workspace.
A 409 Conflict
response will be provided if either the entry ID or key have been used in an existing document.
Any data uploaded to the Invopop Silo will first be normalized, calculated, and then validated to check for any errors.
Invopop will attempt to automatically determine the folder in which to store the document based on the schema, but you can override this by including the folder
field in the request.
If there are any validation issues with the uploaded data, the service will respond with an error message including a key
and message
. Additionally, the fields
property may include a nested structure to help identify the specific property with a validation fault.
Use UUID versions 1 or 7 for documents with a specific lifespan, such as invoices or payment receipts. For long-lived data, like parties or items, use versions 3, 4, or 5. The rules for UUID versions are enforced by specific folder configurations.
Creating Entries from Previous Documents
You can create new entries based on a previous entry by using the previous_id
field. This allows you to provide patch data instead of a full new document by setting the patch type in the content_type
field to one of the following:
application/json-patch+json
- for JSON Patch (RFC 6902)application/merge-patch+json
- for JSON Merge Patch (RFC 7396)
Additionally, the previous_id
field can be used to create corrective documents by including corrective option data in the correct
field. For more details, refer to the GOBL documentation on correction options.
Path Parameters
UUID of the silo entry to create.
"347c5b04-cde2-11ed-afa1-0242ac120002"
Body
When true, the envelope's contents are allowed to be invalid.
true
The content type of the data being uploaded.
"application/json"
JSON object containing the GOBL correction option data.
{ "credit": true }
Data contents to upload which may either be a GOBL Envelope or Object. Any partial data will be calculated and validated automatically.
In which folder the entry should be associated, leave empty to use the automatic rules.
Key used to identify the entry idempotently within a workspace.
"invoice-101"
The UUID of the previous silo entry to copy.
When true, the GOBL envelope will be signed automatically.
false
Response
List of attachments for this entry.
When entry provided within a related query, this is the context within the document.
"line.item"
The date and time the silo entry was created.
"2018-01-01T00:00:00.000Z"
JSON envelope contents when specifically requested.
Schema URL for the envelope's payload.
"https://gobl.org/draft-0/bill/invoice"
Deprecated. When true, indicates that the envelope is not signed.
true
Schema URL for the envelope.
"https://gobl.org/draft-0/envelope"
List of faults that occurred during the processing of the job associated with the last state.
Key for the folder where the entry is located.
"sales"
UUID of the silo entry.
"347c5b04-cde2-11ed-afa1-0242ac120002"
When true, the envelope's contents are invalid and need to be reviewed.
true
Key used to identify the entry idempotently within a workspace.
"invoice-101"
Additional meta fields associated with the entry.
When true, the envelope has been signed and should not be modified.
true
JSON object containing a snippet of the document.
{ "title": "Sample Title" }
Current state of the silo entry if not a draft.
"sent"
Copy of tags stored in the envelope header.
The date and time the silo entry was last updated.
"2018-01-01T00:00:00.000Z"