POST
/
silo
/
v1
/
entries
curl --request POST \
  --url https://api.invopop.com/silo/v1/entries \
  --header 'Content-Type: application/json' \
  --data '{
  "content_type": "application/json",
  "correct": "<any>",
  "data": "<any>",
  "folder": "<string>",
  "previous_id": "347c5b04-cde2-11ed-afa1-0242ac120002"
}'
{
  "attachments": [
    {
      "created_at": "2018-01-01T00:00:00.000Z",
      "desc": "Invoice for January 2021.",
      "hash": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6",
      "id": "<string>",
      "meta": {},
      "mime": "application/pdf",
      "name": "invoice.pdf",
      "size": 12345,
      "stored": true,
      "url": "<string>"
    }
  ],
  "context": "line.item",
  "created_at": "2018-01-01T00:00:00.000Z",
  "data": "<any>",
  "digest": {
    "alg": "<string>",
    "val": "<string>"
  },
  "doc_schema": "https://gobl.org/draft-0/bill/invoice",
  "draft": true,
  "env_schema": "https://gobl.org/draft-0/envelope",
  "folder": "sales",
  "id": "347c5b04-cde2-11ed-afa1-0242ac120002",
  "invalid": true,
  "meta": [
    {
      "created_at": "2018-01-01T00:00:00.000Z",
      "id": "347c5b04-cde2-11ed-afa1-0242ac120002",
      "key": "service-id",
      "link_scope": "public",
      "link_url": "https://example.com/info",
      "ref": "<string>",
      "src": "provider",
      "updated_at": "2018-01-01T00:00:00.000Z",
      "value": "<any>"
    }
  ],
  "snippet": "<any>",
  "state": "sent",
  "tags": [
    "<string>"
  ],
  "updated_at": "2018-01-01T00:00:00.000Z"
}
This is a non-idempotent endpoint. It must be used for developing and testing only. In production, please use the idempotent version. More info here.

The data field may contain either GOBL Envelope or Object, and will be validated before being persisted.

New entries may also be created based on a previous entry using the

previous_id field. Using a previous entry allows you to provide patch data instead of a new full document by setting the patch type in the content_type field to either:

  • application/json-patch+json - for JSON Patch (RFC 6902)
  • application/merge-patch+json - for JSON Merge Patch (RFC 7396)

The previous_id field can also be used to make corrective documents by adding the corrective option data in the correct field. For more details on this, see the GOBL documentation for correction options.

Body

application/json
content_type
string

The content type of the data being uploaded.

correct
any

JSON object containing the GOBL correction option data.

data
any

Data contents to upload which may either be a GOBL Envelope or Object. Any partial data will be calculated and validated automatically.

folder
string

In which folder the entry should be associated, leave empty to use the automatic rules.

previous_id
string

The UUIDv1 of the previous silo entry to copy.

Response

200 - application/json
attachments
object[]

List of attachments for this entry.

context
string

When entry provided within a related query, this is the context within the document.

created_at
string

The date and time the silo entry was created.

data
any

JSON envelope contents when specifically requested.

digest
object
doc_schema
string

Schema URL for the envelope's payload.

draft
boolean

When true, indicates that the envelope is a draft.

env_schema
string

Schema URL for the envelope.

folder
string

Key for the folder where the entry is located.

id
string

UUID of the silo entry.

invalid
boolean

When true, the envelope's contents are invalid and need to be reviewed.

meta
object[]

Additional meta fields associated with the entry.

snippet
any

JSON object containing a snippet of the document.

state
string

Current state of the silo entry if not a draft.

tags
string[]
updated_at
string

The date and time the silo entry was last updated.