Create an entry without UUID
Create a new silo entry without an explicit 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.
Use the key
property in the request to ensure idempotency. If the same key is used in the same workspace in another silo entry, the request will be rejected with a 409 Conflict
error code.
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.
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.
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"