Centrifuge OS Node API API Reference

API Endpoint
https://localhost
Contact: hello@centrifuge.io
Request Content-Types: application/json
Response Content-Types: application/json
Schemes: https
Version: 0.0.1

HealthCheckService

GET /ping

Health check for the Node

200 OK
Response Example (200 OK)
{
  "version": "string",
  "network": "string"
}

InvoiceDocumentService

POST /invoice/anchor

Anchor an invoice document

Request Example
{
  "document": {
    "core_document": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "document_root": "string (byte)",
      "signing_root": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)",
      "signatures": [
        {
          "entity_id": "string (byte)",
          "public_key": "string (byte)",
          "signature": "string (byte)",
          "timestamp": "string (date-time)"
        }
      ],
      "embedded_data": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "embedded_data_salts": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "coredocument_salts": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)"
      }
    },
    "data": {
      "invoice_number": "string",
      "sender_name": "string",
      "sender_street": "string",
      "sender_city": "string",
      "sender_zipcode": "string",
      "sender_country": "string",
      "recipient_name": "string",
      "recipient_street": "string",
      "recipient_city": "string",
      "recipient_zipcode": "string",
      "recipient_country": "string",
      "currency": "string",
      "gross_amount": "string (int64)",
      "net_amount": "string (int64)",
      "tax_amount": "string (int64)",
      "tax_rate": "string (int64)",
      "recipient": "string (byte)",
      "sender": "string (byte)",
      "payee": "string (byte)",
      "comment": "string",
      "due_date": "string (date-time)",
      "date_created": "string (date-time)",
      "extra_data": "string (byte)"
    },
    "salts": {
      "invoice_number": "string (byte)",
      "sender_name": "string (byte)",
      "sender_street": "string (byte)",
      "sender_city": "string (byte)",
      "sender_zipcode": "string (byte)",
      "sender_country": "string (byte)",
      "recipient_name": "string (byte)",
      "recipient_street": "string (byte)",
      "recipient_city": "string (byte)",
      "recipient_zipcode": "string (byte)",
      "recipient_country": "string (byte)",
      "currency": "string (byte)",
      "gross_amount": "string (byte)",
      "net_amount": "string (byte)",
      "tax_amount": "string (byte)",
      "tax_rate": "string (byte)",
      "recipient": "string (byte)",
      "sender": "string (byte)",
      "payee": "string (byte)",
      "comment": "string (byte)",
      "due_date": "string (byte)",
      "date_created": "string (byte)",
      "extra_data": "string (byte)"
    }
  }
}
Response Example (200 OK)
{
  "core_document": {
    "document_identifier": "string (byte)",
    "current_identifier": "string (byte)",
    "next_identifier": "string (byte)",
    "document_root": "string (byte)",
    "signing_root": "string (byte)",
    "previous_root": "string (byte)",
    "data_root": "string (byte)",
    "signatures": [
      {
        "entity_id": "string (byte)",
        "public_key": "string (byte)",
        "signature": "string (byte)",
        "timestamp": "string (date-time)"
      }
    ],
    "embedded_data": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "embedded_data_salts": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "coredocument_salts": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)"
    }
  },
  "data": {
    "invoice_number": "string",
    "sender_name": "string",
    "sender_street": "string",
    "sender_city": "string",
    "sender_zipcode": "string",
    "sender_country": "string",
    "recipient_name": "string",
    "recipient_street": "string",
    "recipient_city": "string",
    "recipient_zipcode": "string",
    "recipient_country": "string",
    "currency": "string",
    "gross_amount": "string (int64)",
    "net_amount": "string (int64)",
    "tax_amount": "string (int64)",
    "tax_rate": "string (int64)",
    "recipient": "string (byte)",
    "sender": "string (byte)",
    "payee": "string (byte)",
    "comment": "string",
    "due_date": "string (date-time)",
    "date_created": "string (date-time)",
    "extra_data": "string (byte)"
  },
  "salts": {
    "invoice_number": "string (byte)",
    "sender_name": "string (byte)",
    "sender_street": "string (byte)",
    "sender_city": "string (byte)",
    "sender_zipcode": "string (byte)",
    "sender_country": "string (byte)",
    "recipient_name": "string (byte)",
    "recipient_street": "string (byte)",
    "recipient_city": "string (byte)",
    "recipient_zipcode": "string (byte)",
    "recipient_country": "string (byte)",
    "currency": "string (byte)",
    "gross_amount": "string (byte)",
    "net_amount": "string (byte)",
    "tax_amount": "string (byte)",
    "tax_rate": "string (byte)",
    "recipient": "string (byte)",
    "sender": "string (byte)",
    "payee": "string (byte)",
    "comment": "string (byte)",
    "due_date": "string (byte)",
    "date_created": "string (byte)",
    "extra_data": "string (byte)"
  }
}

POST /invoice/get

Request Example
{
  "document_identifier": "string (byte)"
}
Response Example (200 OK)
{
  "core_document": {
    "document_identifier": "string (byte)",
    "current_identifier": "string (byte)",
    "next_identifier": "string (byte)",
    "document_root": "string (byte)",
    "signing_root": "string (byte)",
    "previous_root": "string (byte)",
    "data_root": "string (byte)",
    "signatures": [
      {
        "entity_id": "string (byte)",
        "public_key": "string (byte)",
        "signature": "string (byte)",
        "timestamp": "string (date-time)"
      }
    ],
    "embedded_data": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "embedded_data_salts": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "coredocument_salts": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)"
    }
  },
  "data": {
    "invoice_number": "string",
    "sender_name": "string",
    "sender_street": "string",
    "sender_city": "string",
    "sender_zipcode": "string",
    "sender_country": "string",
    "recipient_name": "string",
    "recipient_street": "string",
    "recipient_city": "string",
    "recipient_zipcode": "string",
    "recipient_country": "string",
    "currency": "string",
    "gross_amount": "string (int64)",
    "net_amount": "string (int64)",
    "tax_amount": "string (int64)",
    "tax_rate": "string (int64)",
    "recipient": "string (byte)",
    "sender": "string (byte)",
    "payee": "string (byte)",
    "comment": "string",
    "due_date": "string (date-time)",
    "date_created": "string (date-time)",
    "extra_data": "string (byte)"
  },
  "salts": {
    "invoice_number": "string (byte)",
    "sender_name": "string (byte)",
    "sender_street": "string (byte)",
    "sender_city": "string (byte)",
    "sender_zipcode": "string (byte)",
    "sender_country": "string (byte)",
    "recipient_name": "string (byte)",
    "recipient_street": "string (byte)",
    "recipient_city": "string (byte)",
    "recipient_zipcode": "string (byte)",
    "recipient_country": "string (byte)",
    "currency": "string (byte)",
    "gross_amount": "string (byte)",
    "net_amount": "string (byte)",
    "tax_amount": "string (byte)",
    "tax_rate": "string (byte)",
    "recipient": "string (byte)",
    "sender": "string (byte)",
    "payee": "string (byte)",
    "comment": "string (byte)",
    "due_date": "string (byte)",
    "date_created": "string (byte)",
    "extra_data": "string (byte)"
  }
}

GET /invoice/getReceived

Response Example (200 OK)
{
  "invoices": [
    {
      "core_document": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "document_root": "string (byte)",
        "signing_root": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)",
        "signatures": [
          {
            "entity_id": "string (byte)",
            "public_key": "string (byte)",
            "signature": "string (byte)",
            "timestamp": "string (date-time)"
          }
        ],
        "embedded_data": {
          "type_url": "string",
          "value": "string (byte)"
        },
        "embedded_data_salts": {
          "type_url": "string",
          "value": "string (byte)"
        },
        "coredocument_salts": {
          "document_identifier": "string (byte)",
          "current_identifier": "string (byte)",
          "next_identifier": "string (byte)",
          "previous_root": "string (byte)",
          "data_root": "string (byte)"
        }
      },
      "data": {
        "invoice_number": "string",
        "sender_name": "string",
        "sender_street": "string",
        "sender_city": "string",
        "sender_zipcode": "string",
        "sender_country": "string",
        "recipient_name": "string",
        "recipient_street": "string",
        "recipient_city": "string",
        "recipient_zipcode": "string",
        "recipient_country": "string",
        "currency": "string",
        "gross_amount": "string (int64)",
        "net_amount": "string (int64)",
        "tax_amount": "string (int64)",
        "tax_rate": "string (int64)",
        "recipient": "string (byte)",
        "sender": "string (byte)",
        "payee": "string (byte)",
        "comment": "string",
        "due_date": "string (date-time)",
        "date_created": "string (date-time)",
        "extra_data": "string (byte)"
      },
      "salts": {
        "invoice_number": "string (byte)",
        "sender_name": "string (byte)",
        "sender_street": "string (byte)",
        "sender_city": "string (byte)",
        "sender_zipcode": "string (byte)",
        "sender_country": "string (byte)",
        "recipient_name": "string (byte)",
        "recipient_street": "string (byte)",
        "recipient_city": "string (byte)",
        "recipient_zipcode": "string (byte)",
        "recipient_country": "string (byte)",
        "currency": "string (byte)",
        "gross_amount": "string (byte)",
        "net_amount": "string (byte)",
        "tax_amount": "string (byte)",
        "tax_rate": "string (byte)",
        "recipient": "string (byte)",
        "sender": "string (byte)",
        "payee": "string (byte)",
        "comment": "string (byte)",
        "due_date": "string (byte)",
        "date_created": "string (byte)",
        "extra_data": "string (byte)"
      }
    }
  ]
}

POST /invoice/proof

Creates a list of precise proofs for the specified fields

Request Example
{
  "document_identifier": "string (byte)",
  "fields": [
    "string"
  ]
}
Response Example (200 OK)
{
  "document_identifier": "string (byte)",
  "field_proofs": [
    {
      "property": "string",
      "value": "string",
      "salt": "string (byte)",
      "hash": "string (byte)",
      "hashes": [
        {
          "left": "string (byte)",
          "right": "string (byte)"
        }
      ],
      "sortedHashes": [
        "string (byte)"
      ]
    }
  ]
}

POST /invoice/send

Send an invoice document to the specified party

Request Example
{
  "recipients": [
    "string (byte)"
  ],
  "document": {
    "core_document": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "document_root": "string (byte)",
      "signing_root": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)",
      "signatures": [
        {
          "entity_id": "string (byte)",
          "public_key": "string (byte)",
          "signature": "string (byte)",
          "timestamp": "string (date-time)"
        }
      ],
      "embedded_data": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "embedded_data_salts": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "coredocument_salts": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)"
      }
    },
    "data": {
      "invoice_number": "string",
      "sender_name": "string",
      "sender_street": "string",
      "sender_city": "string",
      "sender_zipcode": "string",
      "sender_country": "string",
      "recipient_name": "string",
      "recipient_street": "string",
      "recipient_city": "string",
      "recipient_zipcode": "string",
      "recipient_country": "string",
      "currency": "string",
      "gross_amount": "string (int64)",
      "net_amount": "string (int64)",
      "tax_amount": "string (int64)",
      "tax_rate": "string (int64)",
      "recipient": "string (byte)",
      "sender": "string (byte)",
      "payee": "string (byte)",
      "comment": "string",
      "due_date": "string (date-time)",
      "date_created": "string (date-time)",
      "extra_data": "string (byte)"
    },
    "salts": {
      "invoice_number": "string (byte)",
      "sender_name": "string (byte)",
      "sender_street": "string (byte)",
      "sender_city": "string (byte)",
      "sender_zipcode": "string (byte)",
      "sender_country": "string (byte)",
      "recipient_name": "string (byte)",
      "recipient_street": "string (byte)",
      "recipient_city": "string (byte)",
      "recipient_zipcode": "string (byte)",
      "recipient_country": "string (byte)",
      "currency": "string (byte)",
      "gross_amount": "string (byte)",
      "net_amount": "string (byte)",
      "tax_amount": "string (byte)",
      "tax_rate": "string (byte)",
      "recipient": "string (byte)",
      "sender": "string (byte)",
      "payee": "string (byte)",
      "comment": "string (byte)",
      "due_date": "string (byte)",
      "date_created": "string (byte)",
      "extra_data": "string (byte)"
    }
  }
}
Response Example (200 OK)
{
  "core_document": {
    "document_identifier": "string (byte)",
    "current_identifier": "string (byte)",
    "next_identifier": "string (byte)",
    "document_root": "string (byte)",
    "signing_root": "string (byte)",
    "previous_root": "string (byte)",
    "data_root": "string (byte)",
    "signatures": [
      {
        "entity_id": "string (byte)",
        "public_key": "string (byte)",
        "signature": "string (byte)",
        "timestamp": "string (date-time)"
      }
    ],
    "embedded_data": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "embedded_data_salts": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "coredocument_salts": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)"
    }
  },
  "data": {
    "invoice_number": "string",
    "sender_name": "string",
    "sender_street": "string",
    "sender_city": "string",
    "sender_zipcode": "string",
    "sender_country": "string",
    "recipient_name": "string",
    "recipient_street": "string",
    "recipient_city": "string",
    "recipient_zipcode": "string",
    "recipient_country": "string",
    "currency": "string",
    "gross_amount": "string (int64)",
    "net_amount": "string (int64)",
    "tax_amount": "string (int64)",
    "tax_rate": "string (int64)",
    "recipient": "string (byte)",
    "sender": "string (byte)",
    "payee": "string (byte)",
    "comment": "string",
    "due_date": "string (date-time)",
    "date_created": "string (date-time)",
    "extra_data": "string (byte)"
  },
  "salts": {
    "invoice_number": "string (byte)",
    "sender_name": "string (byte)",
    "sender_street": "string (byte)",
    "sender_city": "string (byte)",
    "sender_zipcode": "string (byte)",
    "sender_country": "string (byte)",
    "recipient_name": "string (byte)",
    "recipient_street": "string (byte)",
    "recipient_city": "string (byte)",
    "recipient_zipcode": "string (byte)",
    "recipient_country": "string (byte)",
    "currency": "string (byte)",
    "gross_amount": "string (byte)",
    "net_amount": "string (byte)",
    "tax_amount": "string (byte)",
    "tax_rate": "string (byte)",
    "recipient": "string (byte)",
    "sender": "string (byte)",
    "payee": "string (byte)",
    "comment": "string (byte)",
    "due_date": "string (byte)",
    "date_created": "string (byte)",
    "extra_data": "string (byte)"
  }
}

PurchaseOrderDocumentService

POST /purchaseorder/anchor

Anchor a purchaseorder document

Request Example
{
  "document": {
    "core_document": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "document_root": "string (byte)",
      "signing_root": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)",
      "signatures": [
        {
          "entity_id": "string (byte)",
          "public_key": "string (byte)",
          "signature": "string (byte)",
          "timestamp": "string (date-time)"
        }
      ],
      "embedded_data": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "embedded_data_salts": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "coredocument_salts": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)"
      }
    },
    "data": {
      "po_number": "string",
      "order_name": "string",
      "order_street": "string",
      "order_city": "string",
      "order_zipcode": "string",
      "order_country": "string",
      "recipient_name": "string",
      "recipient_street": "string",
      "recipient_city": "string",
      "recipient_zipcode": "string",
      "recipient_country": "string",
      "currency": "string",
      "order_amount": "string (int64)",
      "net_amount": "string (int64)",
      "tax_amount": "string (int64)",
      "tax_rate": "string (int64)",
      "recipient": "string (byte)",
      "order": "string (byte)",
      "order_contact": "string",
      "comment": "string",
      "delivery_date": "string (date-time)",
      "date_created": "string (date-time)",
      "extra_data": "string (byte)"
    },
    "salts": {
      "po_number": "string (byte)",
      "order_name": "string (byte)",
      "order_street": "string (byte)",
      "order_city": "string (byte)",
      "order_zipcode": "string (byte)",
      "order_country": "string (byte)",
      "recipient_name": "string (byte)",
      "recipient_street": "string (byte)",
      "recipient_city": "string (byte)",
      "recipient_zipcode": "string (byte)",
      "recipient_country": "string (byte)",
      "currency": "string (byte)",
      "order_amount": "string (byte)",
      "net_amount": "string (byte)",
      "tax_amount": "string (byte)",
      "tax_rate": "string (byte)",
      "recipient": "string (byte)",
      "order": "string (byte)",
      "order_contact": "string (byte)",
      "comment": "string (byte)",
      "delivery_date": "string (byte)",
      "date_created": "string (byte)",
      "extra_data": "string (byte)"
    }
  }
}
Response Example (200 OK)
{
  "core_document": {
    "document_identifier": "string (byte)",
    "current_identifier": "string (byte)",
    "next_identifier": "string (byte)",
    "document_root": "string (byte)",
    "signing_root": "string (byte)",
    "previous_root": "string (byte)",
    "data_root": "string (byte)",
    "signatures": [
      {
        "entity_id": "string (byte)",
        "public_key": "string (byte)",
        "signature": "string (byte)",
        "timestamp": "string (date-time)"
      }
    ],
    "embedded_data": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "embedded_data_salts": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "coredocument_salts": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)"
    }
  },
  "data": {
    "po_number": "string",
    "order_name": "string",
    "order_street": "string",
    "order_city": "string",
    "order_zipcode": "string",
    "order_country": "string",
    "recipient_name": "string",
    "recipient_street": "string",
    "recipient_city": "string",
    "recipient_zipcode": "string",
    "recipient_country": "string",
    "currency": "string",
    "order_amount": "string (int64)",
    "net_amount": "string (int64)",
    "tax_amount": "string (int64)",
    "tax_rate": "string (int64)",
    "recipient": "string (byte)",
    "order": "string (byte)",
    "order_contact": "string",
    "comment": "string",
    "delivery_date": "string (date-time)",
    "date_created": "string (date-time)",
    "extra_data": "string (byte)"
  },
  "salts": {
    "po_number": "string (byte)",
    "order_name": "string (byte)",
    "order_street": "string (byte)",
    "order_city": "string (byte)",
    "order_zipcode": "string (byte)",
    "order_country": "string (byte)",
    "recipient_name": "string (byte)",
    "recipient_street": "string (byte)",
    "recipient_city": "string (byte)",
    "recipient_zipcode": "string (byte)",
    "recipient_country": "string (byte)",
    "currency": "string (byte)",
    "order_amount": "string (byte)",
    "net_amount": "string (byte)",
    "tax_amount": "string (byte)",
    "tax_rate": "string (byte)",
    "recipient": "string (byte)",
    "order": "string (byte)",
    "order_contact": "string (byte)",
    "comment": "string (byte)",
    "delivery_date": "string (byte)",
    "date_created": "string (byte)",
    "extra_data": "string (byte)"
  }
}

POST /purchaseorder/get

Request Example
{
  "document_identifier": "string (byte)"
}
Response Example (200 OK)
{
  "core_document": {
    "document_identifier": "string (byte)",
    "current_identifier": "string (byte)",
    "next_identifier": "string (byte)",
    "document_root": "string (byte)",
    "signing_root": "string (byte)",
    "previous_root": "string (byte)",
    "data_root": "string (byte)",
    "signatures": [
      {
        "entity_id": "string (byte)",
        "public_key": "string (byte)",
        "signature": "string (byte)",
        "timestamp": "string (date-time)"
      }
    ],
    "embedded_data": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "embedded_data_salts": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "coredocument_salts": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)"
    }
  },
  "data": {
    "po_number": "string",
    "order_name": "string",
    "order_street": "string",
    "order_city": "string",
    "order_zipcode": "string",
    "order_country": "string",
    "recipient_name": "string",
    "recipient_street": "string",
    "recipient_city": "string",
    "recipient_zipcode": "string",
    "recipient_country": "string",
    "currency": "string",
    "order_amount": "string (int64)",
    "net_amount": "string (int64)",
    "tax_amount": "string (int64)",
    "tax_rate": "string (int64)",
    "recipient": "string (byte)",
    "order": "string (byte)",
    "order_contact": "string",
    "comment": "string",
    "delivery_date": "string (date-time)",
    "date_created": "string (date-time)",
    "extra_data": "string (byte)"
  },
  "salts": {
    "po_number": "string (byte)",
    "order_name": "string (byte)",
    "order_street": "string (byte)",
    "order_city": "string (byte)",
    "order_zipcode": "string (byte)",
    "order_country": "string (byte)",
    "recipient_name": "string (byte)",
    "recipient_street": "string (byte)",
    "recipient_city": "string (byte)",
    "recipient_zipcode": "string (byte)",
    "recipient_country": "string (byte)",
    "currency": "string (byte)",
    "order_amount": "string (byte)",
    "net_amount": "string (byte)",
    "tax_amount": "string (byte)",
    "tax_rate": "string (byte)",
    "recipient": "string (byte)",
    "order": "string (byte)",
    "order_contact": "string (byte)",
    "comment": "string (byte)",
    "delivery_date": "string (byte)",
    "date_created": "string (byte)",
    "extra_data": "string (byte)"
  }
}

GET /purchaseorder/getReceived

Response Example (200 OK)
{
  "purchaseorders": [
    {
      "core_document": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "document_root": "string (byte)",
        "signing_root": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)",
        "signatures": [
          {
            "entity_id": "string (byte)",
            "public_key": "string (byte)",
            "signature": "string (byte)",
            "timestamp": "string (date-time)"
          }
        ],
        "embedded_data": {
          "type_url": "string",
          "value": "string (byte)"
        },
        "embedded_data_salts": {
          "type_url": "string",
          "value": "string (byte)"
        },
        "coredocument_salts": {
          "document_identifier": "string (byte)",
          "current_identifier": "string (byte)",
          "next_identifier": "string (byte)",
          "previous_root": "string (byte)",
          "data_root": "string (byte)"
        }
      },
      "data": {
        "po_number": "string",
        "order_name": "string",
        "order_street": "string",
        "order_city": "string",
        "order_zipcode": "string",
        "order_country": "string",
        "recipient_name": "string",
        "recipient_street": "string",
        "recipient_city": "string",
        "recipient_zipcode": "string",
        "recipient_country": "string",
        "currency": "string",
        "order_amount": "string (int64)",
        "net_amount": "string (int64)",
        "tax_amount": "string (int64)",
        "tax_rate": "string (int64)",
        "recipient": "string (byte)",
        "order": "string (byte)",
        "order_contact": "string",
        "comment": "string",
        "delivery_date": "string (date-time)",
        "date_created": "string (date-time)",
        "extra_data": "string (byte)"
      },
      "salts": {
        "po_number": "string (byte)",
        "order_name": "string (byte)",
        "order_street": "string (byte)",
        "order_city": "string (byte)",
        "order_zipcode": "string (byte)",
        "order_country": "string (byte)",
        "recipient_name": "string (byte)",
        "recipient_street": "string (byte)",
        "recipient_city": "string (byte)",
        "recipient_zipcode": "string (byte)",
        "recipient_country": "string (byte)",
        "currency": "string (byte)",
        "order_amount": "string (byte)",
        "net_amount": "string (byte)",
        "tax_amount": "string (byte)",
        "tax_rate": "string (byte)",
        "recipient": "string (byte)",
        "order": "string (byte)",
        "order_contact": "string (byte)",
        "comment": "string (byte)",
        "delivery_date": "string (byte)",
        "date_created": "string (byte)",
        "extra_data": "string (byte)"
      }
    }
  ]
}

POST /purchaseorder/proof

Creates a list of precise proofs for the specified fields

Request Example
{
  "document_identifier": "string (byte)",
  "fields": [
    "string"
  ]
}
Response Example (200 OK)
{
  "document_identifier": "string (byte)",
  "field_proofs": [
    {
      "property": "string",
      "value": "string",
      "salt": "string (byte)",
      "hash": "string (byte)",
      "hashes": [
        {
          "left": "string (byte)",
          "right": "string (byte)"
        }
      ],
      "sortedHashes": [
        "string (byte)"
      ]
    }
  ]
}

POST /purchaseorder/send

Send a purchaseorder document to the specified party

Request Example
{
  "recipients": [
    "string (byte)"
  ],
  "document": {
    "core_document": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "document_root": "string (byte)",
      "signing_root": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)",
      "signatures": [
        {
          "entity_id": "string (byte)",
          "public_key": "string (byte)",
          "signature": "string (byte)",
          "timestamp": "string (date-time)"
        }
      ],
      "embedded_data": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "embedded_data_salts": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "coredocument_salts": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)"
      }
    },
    "data": {
      "po_number": "string",
      "order_name": "string",
      "order_street": "string",
      "order_city": "string",
      "order_zipcode": "string",
      "order_country": "string",
      "recipient_name": "string",
      "recipient_street": "string",
      "recipient_city": "string",
      "recipient_zipcode": "string",
      "recipient_country": "string",
      "currency": "string",
      "order_amount": "string (int64)",
      "net_amount": "string (int64)",
      "tax_amount": "string (int64)",
      "tax_rate": "string (int64)",
      "recipient": "string (byte)",
      "order": "string (byte)",
      "order_contact": "string",
      "comment": "string",
      "delivery_date": "string (date-time)",
      "date_created": "string (date-time)",
      "extra_data": "string (byte)"
    },
    "salts": {
      "po_number": "string (byte)",
      "order_name": "string (byte)",
      "order_street": "string (byte)",
      "order_city": "string (byte)",
      "order_zipcode": "string (byte)",
      "order_country": "string (byte)",
      "recipient_name": "string (byte)",
      "recipient_street": "string (byte)",
      "recipient_city": "string (byte)",
      "recipient_zipcode": "string (byte)",
      "recipient_country": "string (byte)",
      "currency": "string (byte)",
      "order_amount": "string (byte)",
      "net_amount": "string (byte)",
      "tax_amount": "string (byte)",
      "tax_rate": "string (byte)",
      "recipient": "string (byte)",
      "order": "string (byte)",
      "order_contact": "string (byte)",
      "comment": "string (byte)",
      "delivery_date": "string (byte)",
      "date_created": "string (byte)",
      "extra_data": "string (byte)"
    }
  }
}
Response Example (200 OK)
{
  "core_document": {
    "document_identifier": "string (byte)",
    "current_identifier": "string (byte)",
    "next_identifier": "string (byte)",
    "document_root": "string (byte)",
    "signing_root": "string (byte)",
    "previous_root": "string (byte)",
    "data_root": "string (byte)",
    "signatures": [
      {
        "entity_id": "string (byte)",
        "public_key": "string (byte)",
        "signature": "string (byte)",
        "timestamp": "string (date-time)"
      }
    ],
    "embedded_data": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "embedded_data_salts": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "coredocument_salts": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)"
    }
  },
  "data": {
    "po_number": "string",
    "order_name": "string",
    "order_street": "string",
    "order_city": "string",
    "order_zipcode": "string",
    "order_country": "string",
    "recipient_name": "string",
    "recipient_street": "string",
    "recipient_city": "string",
    "recipient_zipcode": "string",
    "recipient_country": "string",
    "currency": "string",
    "order_amount": "string (int64)",
    "net_amount": "string (int64)",
    "tax_amount": "string (int64)",
    "tax_rate": "string (int64)",
    "recipient": "string (byte)",
    "order": "string (byte)",
    "order_contact": "string",
    "comment": "string",
    "delivery_date": "string (date-time)",
    "date_created": "string (date-time)",
    "extra_data": "string (byte)"
  },
  "salts": {
    "po_number": "string (byte)",
    "order_name": "string (byte)",
    "order_street": "string (byte)",
    "order_city": "string (byte)",
    "order_zipcode": "string (byte)",
    "order_country": "string (byte)",
    "recipient_name": "string (byte)",
    "recipient_street": "string (byte)",
    "recipient_city": "string (byte)",
    "recipient_zipcode": "string (byte)",
    "recipient_country": "string (byte)",
    "currency": "string (byte)",
    "order_amount": "string (byte)",
    "net_amount": "string (byte)",
    "tax_amount": "string (byte)",
    "tax_rate": "string (byte)",
    "recipient": "string (byte)",
    "order": "string (byte)",
    "order_contact": "string (byte)",
    "comment": "string (byte)",
    "delivery_date": "string (byte)",
    "date_created": "string (byte)",
    "extra_data": "string (byte)"
  }
}

Schema Definitions

healthPong: object

version: string
network: string
Example
{
  "version": "string",
  "network": "string"
}

coredocumentCoreDocument: object

  • Merkle Roots for the document data
  • Signatures on document data
  • Access Control
document_identifier: string (byte)

Identifiers

CoreDocument has two kinds of identifiers, the document_identifier is assigned once per document and stays the same for the lifetime of the document. document_identifier is the first ID ever used to anchor the document on chain and is used internally to store all future versions. The current_identifier and the next_identifier refer only to this particular version.

32 byte value

current_identifier: string (byte)

current_identifier is the identifier used to refer to the current state of the document.

32 byte value

next_identifier: string (byte)

next_identifier is the identifier that is going to be used for the next version if any party wants to update the state.

document_root: string (byte)
signing_root: string (byte)

signing_root is the Merkle root calculated from all fields on the document that need to be signed. This is all fields except for the signatures themselves and the document_root.

previous_root: string (byte)
data_root: string (byte)

data_root is the Merkle root calculated for the embedded_data & embedded_salts document (such as an invoice).

signatures: coredocumentSignature

Signatures Signatures of the signature_root by centrifuge identities. This array should be sorted by the Centrifuge ID.

coredocumentSignature
embedded_data: protobufAny
embedded_data_salts: protobufAny
coredocument_salts: coredocumentCoreDocumentSalts
Example
{
  "document_identifier": "string (byte)",
  "current_identifier": "string (byte)",
  "next_identifier": "string (byte)",
  "document_root": "string (byte)",
  "signing_root": "string (byte)",
  "previous_root": "string (byte)",
  "data_root": "string (byte)",
  "signatures": [
    {
      "entity_id": "string (byte)",
      "public_key": "string (byte)",
      "signature": "string (byte)",
      "timestamp": "string (date-time)"
    }
  ],
  "embedded_data": {
    "type_url": "string",
    "value": "string (byte)"
  },
  "embedded_data_salts": {
    "type_url": "string",
    "value": "string (byte)"
  },
  "coredocument_salts": {
    "document_identifier": "string (byte)",
    "current_identifier": "string (byte)",
    "next_identifier": "string (byte)",
    "previous_root": "string (byte)",
    "data_root": "string (byte)"
  }
}

coredocumentCoreDocumentSalts: object

document_identifier: string (byte)
current_identifier: string (byte)
next_identifier: string (byte)
previous_root: string (byte)
data_root: string (byte)
Example
{
  "document_identifier": "string (byte)",
  "current_identifier": "string (byte)",
  "next_identifier": "string (byte)",
  "previous_root": "string (byte)",
  "data_root": "string (byte)"
}

coredocumentSignature: object

entity_id: string (byte)

entity_id is the CentrifugeID of the entity signing the document.

public_key: string (byte)
signature: string (byte)
timestamp: string (date-time)
Example
{
  "entity_id": "string (byte)",
  "public_key": "string (byte)",
  "signature": "string (byte)",
  "timestamp": "string (date-time)"
}

invoiceAnchorInvoiceEnvelope: object

Example
{
  "document": {
    "core_document": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "document_root": "string (byte)",
      "signing_root": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)",
      "signatures": [
        {
          "entity_id": "string (byte)",
          "public_key": "string (byte)",
          "signature": "string (byte)",
          "timestamp": "string (date-time)"
        }
      ],
      "embedded_data": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "embedded_data_salts": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "coredocument_salts": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)"
      }
    },
    "data": {
      "invoice_number": "string",
      "sender_name": "string",
      "sender_street": "string",
      "sender_city": "string",
      "sender_zipcode": "string",
      "sender_country": "string",
      "recipient_name": "string",
      "recipient_street": "string",
      "recipient_city": "string",
      "recipient_zipcode": "string",
      "recipient_country": "string",
      "currency": "string",
      "gross_amount": "string (int64)",
      "net_amount": "string (int64)",
      "tax_amount": "string (int64)",
      "tax_rate": "string (int64)",
      "recipient": "string (byte)",
      "sender": "string (byte)",
      "payee": "string (byte)",
      "comment": "string",
      "due_date": "string (date-time)",
      "date_created": "string (date-time)",
      "extra_data": "string (byte)"
    },
    "salts": {
      "invoice_number": "string (byte)",
      "sender_name": "string (byte)",
      "sender_street": "string (byte)",
      "sender_city": "string (byte)",
      "sender_zipcode": "string (byte)",
      "sender_country": "string (byte)",
      "recipient_name": "string (byte)",
      "recipient_street": "string (byte)",
      "recipient_city": "string (byte)",
      "recipient_zipcode": "string (byte)",
      "recipient_country": "string (byte)",
      "currency": "string (byte)",
      "gross_amount": "string (byte)",
      "net_amount": "string (byte)",
      "tax_amount": "string (byte)",
      "tax_rate": "string (byte)",
      "recipient": "string (byte)",
      "sender": "string (byte)",
      "payee": "string (byte)",
      "comment": "string (byte)",
      "due_date": "string (byte)",
      "date_created": "string (byte)",
      "extra_data": "string (byte)"
    }
  }
}

invoiceCreateInvoiceProofEnvelope: object

document_identifier: string (byte)
fields: string[]
string
Example
{
  "document_identifier": "string (byte)",
  "fields": [
    "string"
  ]
}

invoiceGetInvoiceDocumentEnvelope: object

document_identifier: string (byte)
Example
{
  "document_identifier": "string (byte)"
}

invoiceInvoiceData: object

invoice_number: string
sender_name: string
sender_street: string
sender_city: string
sender_zipcode: string
sender_country: string
recipient_name: string
recipient_street: string
recipient_city: string
recipient_zipcode: string
recipient_country: string
currency: string
gross_amount: string (int64)
net_amount: string (int64)
tax_amount: string (int64)
tax_rate: string (int64)
recipient: string (byte)
sender: string (byte)
payee: string (byte)
comment: string
due_date: string (date-time)
date_created: string (date-time)
extra_data: string (byte)
Example
{
  "invoice_number": "string",
  "sender_name": "string",
  "sender_street": "string",
  "sender_city": "string",
  "sender_zipcode": "string",
  "sender_country": "string",
  "recipient_name": "string",
  "recipient_street": "string",
  "recipient_city": "string",
  "recipient_zipcode": "string",
  "recipient_country": "string",
  "currency": "string",
  "gross_amount": "string (int64)",
  "net_amount": "string (int64)",
  "tax_amount": "string (int64)",
  "tax_rate": "string (int64)",
  "recipient": "string (byte)",
  "sender": "string (byte)",
  "payee": "string (byte)",
  "comment": "string",
  "due_date": "string (date-time)",
  "date_created": "string (date-time)",
  "extra_data": "string (byte)"
}

invoiceInvoiceDataSalts: object

InvoiceDataSalts keeps track of the salts used for each InvoiceData field.

invoice_number: string (byte)
sender_name: string (byte)
sender_street: string (byte)
sender_city: string (byte)
sender_zipcode: string (byte)
sender_country: string (byte)
recipient_name: string (byte)
recipient_street: string (byte)
recipient_city: string (byte)
recipient_zipcode: string (byte)
recipient_country: string (byte)
currency: string (byte)
gross_amount: string (byte)
net_amount: string (byte)
tax_amount: string (byte)
tax_rate: string (byte)
recipient: string (byte)
sender: string (byte)
payee: string (byte)
comment: string (byte)
due_date: string (byte)
date_created: string (byte)
extra_data: string (byte)
Example
{
  "invoice_number": "string (byte)",
  "sender_name": "string (byte)",
  "sender_street": "string (byte)",
  "sender_city": "string (byte)",
  "sender_zipcode": "string (byte)",
  "sender_country": "string (byte)",
  "recipient_name": "string (byte)",
  "recipient_street": "string (byte)",
  "recipient_city": "string (byte)",
  "recipient_zipcode": "string (byte)",
  "recipient_country": "string (byte)",
  "currency": "string (byte)",
  "gross_amount": "string (byte)",
  "net_amount": "string (byte)",
  "tax_amount": "string (byte)",
  "tax_rate": "string (byte)",
  "recipient": "string (byte)",
  "sender": "string (byte)",
  "payee": "string (byte)",
  "comment": "string (byte)",
  "due_date": "string (byte)",
  "date_created": "string (byte)",
  "extra_data": "string (byte)"
}

invoiceInvoiceDocument: object

Example
{
  "core_document": {
    "document_identifier": "string (byte)",
    "current_identifier": "string (byte)",
    "next_identifier": "string (byte)",
    "document_root": "string (byte)",
    "signing_root": "string (byte)",
    "previous_root": "string (byte)",
    "data_root": "string (byte)",
    "signatures": [
      {
        "entity_id": "string (byte)",
        "public_key": "string (byte)",
        "signature": "string (byte)",
        "timestamp": "string (date-time)"
      }
    ],
    "embedded_data": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "embedded_data_salts": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "coredocument_salts": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)"
    }
  },
  "data": {
    "invoice_number": "string",
    "sender_name": "string",
    "sender_street": "string",
    "sender_city": "string",
    "sender_zipcode": "string",
    "sender_country": "string",
    "recipient_name": "string",
    "recipient_street": "string",
    "recipient_city": "string",
    "recipient_zipcode": "string",
    "recipient_country": "string",
    "currency": "string",
    "gross_amount": "string (int64)",
    "net_amount": "string (int64)",
    "tax_amount": "string (int64)",
    "tax_rate": "string (int64)",
    "recipient": "string (byte)",
    "sender": "string (byte)",
    "payee": "string (byte)",
    "comment": "string",
    "due_date": "string (date-time)",
    "date_created": "string (date-time)",
    "extra_data": "string (byte)"
  },
  "salts": {
    "invoice_number": "string (byte)",
    "sender_name": "string (byte)",
    "sender_street": "string (byte)",
    "sender_city": "string (byte)",
    "sender_zipcode": "string (byte)",
    "sender_country": "string (byte)",
    "recipient_name": "string (byte)",
    "recipient_street": "string (byte)",
    "recipient_city": "string (byte)",
    "recipient_zipcode": "string (byte)",
    "recipient_country": "string (byte)",
    "currency": "string (byte)",
    "gross_amount": "string (byte)",
    "net_amount": "string (byte)",
    "tax_amount": "string (byte)",
    "tax_rate": "string (byte)",
    "recipient": "string (byte)",
    "sender": "string (byte)",
    "payee": "string (byte)",
    "comment": "string (byte)",
    "due_date": "string (byte)",
    "date_created": "string (byte)",
    "extra_data": "string (byte)"
  }
}

invoiceInvoiceProof: object

document_identifier: string (byte)
field_proofs: proofsProof
proofsProof
Example
{
  "document_identifier": "string (byte)",
  "field_proofs": [
    {
      "property": "string",
      "value": "string",
      "salt": "string (byte)",
      "hash": "string (byte)",
      "hashes": [
        {
          "left": "string (byte)",
          "right": "string (byte)"
        }
      ],
      "sortedHashes": [
        "string (byte)"
      ]
    }
  ]
}

invoiceReceivedInvoices: object

Example
{
  "invoices": [
    {
      "core_document": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "document_root": "string (byte)",
        "signing_root": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)",
        "signatures": [
          {
            "entity_id": "string (byte)",
            "public_key": "string (byte)",
            "signature": "string (byte)",
            "timestamp": "string (date-time)"
          }
        ],
        "embedded_data": {
          "type_url": "string",
          "value": "string (byte)"
        },
        "embedded_data_salts": {
          "type_url": "string",
          "value": "string (byte)"
        },
        "coredocument_salts": {
          "document_identifier": "string (byte)",
          "current_identifier": "string (byte)",
          "next_identifier": "string (byte)",
          "previous_root": "string (byte)",
          "data_root": "string (byte)"
        }
      },
      "data": {
        "invoice_number": "string",
        "sender_name": "string",
        "sender_street": "string",
        "sender_city": "string",
        "sender_zipcode": "string",
        "sender_country": "string",
        "recipient_name": "string",
        "recipient_street": "string",
        "recipient_city": "string",
        "recipient_zipcode": "string",
        "recipient_country": "string",
        "currency": "string",
        "gross_amount": "string (int64)",
        "net_amount": "string (int64)",
        "tax_amount": "string (int64)",
        "tax_rate": "string (int64)",
        "recipient": "string (byte)",
        "sender": "string (byte)",
        "payee": "string (byte)",
        "comment": "string",
        "due_date": "string (date-time)",
        "date_created": "string (date-time)",
        "extra_data": "string (byte)"
      },
      "salts": {
        "invoice_number": "string (byte)",
        "sender_name": "string (byte)",
        "sender_street": "string (byte)",
        "sender_city": "string (byte)",
        "sender_zipcode": "string (byte)",
        "sender_country": "string (byte)",
        "recipient_name": "string (byte)",
        "recipient_street": "string (byte)",
        "recipient_city": "string (byte)",
        "recipient_zipcode": "string (byte)",
        "recipient_country": "string (byte)",
        "currency": "string (byte)",
        "gross_amount": "string (byte)",
        "net_amount": "string (byte)",
        "tax_amount": "string (byte)",
        "tax_rate": "string (byte)",
        "recipient": "string (byte)",
        "sender": "string (byte)",
        "payee": "string (byte)",
        "comment": "string (byte)",
        "due_date": "string (byte)",
        "date_created": "string (byte)",
        "extra_data": "string (byte)"
      }
    }
  ]
}

invoiceSendInvoiceEnvelope: object

recipients: string[]
string (byte)
document: invoiceInvoiceDocument
Example
{
  "recipients": [
    "string (byte)"
  ],
  "document": {
    "core_document": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "document_root": "string (byte)",
      "signing_root": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)",
      "signatures": [
        {
          "entity_id": "string (byte)",
          "public_key": "string (byte)",
          "signature": "string (byte)",
          "timestamp": "string (date-time)"
        }
      ],
      "embedded_data": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "embedded_data_salts": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "coredocument_salts": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)"
      }
    },
    "data": {
      "invoice_number": "string",
      "sender_name": "string",
      "sender_street": "string",
      "sender_city": "string",
      "sender_zipcode": "string",
      "sender_country": "string",
      "recipient_name": "string",
      "recipient_street": "string",
      "recipient_city": "string",
      "recipient_zipcode": "string",
      "recipient_country": "string",
      "currency": "string",
      "gross_amount": "string (int64)",
      "net_amount": "string (int64)",
      "tax_amount": "string (int64)",
      "tax_rate": "string (int64)",
      "recipient": "string (byte)",
      "sender": "string (byte)",
      "payee": "string (byte)",
      "comment": "string",
      "due_date": "string (date-time)",
      "date_created": "string (date-time)",
      "extra_data": "string (byte)"
    },
    "salts": {
      "invoice_number": "string (byte)",
      "sender_name": "string (byte)",
      "sender_street": "string (byte)",
      "sender_city": "string (byte)",
      "sender_zipcode": "string (byte)",
      "sender_country": "string (byte)",
      "recipient_name": "string (byte)",
      "recipient_street": "string (byte)",
      "recipient_city": "string (byte)",
      "recipient_zipcode": "string (byte)",
      "recipient_country": "string (byte)",
      "currency": "string (byte)",
      "gross_amount": "string (byte)",
      "net_amount": "string (byte)",
      "tax_amount": "string (byte)",
      "tax_rate": "string (byte)",
      "recipient": "string (byte)",
      "sender": "string (byte)",
      "payee": "string (byte)",
      "comment": "string (byte)",
      "due_date": "string (byte)",
      "date_created": "string (byte)",
      "extra_data": "string (byte)"
    }
  }
}

proofsMerkleHash: object

left: string (byte)
right: string (byte)
Example
{
  "left": "string (byte)",
  "right": "string (byte)"
}

proofsProof: object

property: string
value: string
salt: string (byte)
hash: string (byte)
hashes: proofsMerkleHash
proofsMerkleHash
sortedHashes: string[]
string (byte)
Example
{
  "property": "string",
  "value": "string",
  "salt": "string (byte)",
  "hash": "string (byte)",
  "hashes": [
    {
      "left": "string (byte)",
      "right": "string (byte)"
    }
  ],
  "sortedHashes": [
    "string (byte)"
  ]
}

protobufAny: object

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}

Example 3: Pack and unpack a message in Python.

foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...

Example 4: Pack and unpack a message in Go

 foo := &pb.Foo{...}
 any, err := ptypes.MarshalAny(foo)
 ...
 foo := &pb.Foo{}
 if err := ptypes.UnmarshalAny(any, foo); err != nil {
   ...
 }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }
                        
                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }
                        

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
type_url: string

A URL/resource name whose content describes the type of the serialized protocol buffer message.

For URLs which use the scheme http, https, or no scheme, the following restrictions and interpretations apply:

  • If no scheme is provided, https is assumed.
  • The last segment of the URL's path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading "." is not accepted).
  • An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error.
  • Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)

Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

value: string (byte)

Must be a valid serialized protocol buffer of the above specified type.

Example
{
  "type_url": "string",
  "value": "string (byte)"
}

purchaseorderAnchorPurchaseOrderEnvelope: object

Example
{
  "document": {
    "core_document": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "document_root": "string (byte)",
      "signing_root": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)",
      "signatures": [
        {
          "entity_id": "string (byte)",
          "public_key": "string (byte)",
          "signature": "string (byte)",
          "timestamp": "string (date-time)"
        }
      ],
      "embedded_data": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "embedded_data_salts": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "coredocument_salts": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)"
      }
    },
    "data": {
      "po_number": "string",
      "order_name": "string",
      "order_street": "string",
      "order_city": "string",
      "order_zipcode": "string",
      "order_country": "string",
      "recipient_name": "string",
      "recipient_street": "string",
      "recipient_city": "string",
      "recipient_zipcode": "string",
      "recipient_country": "string",
      "currency": "string",
      "order_amount": "string (int64)",
      "net_amount": "string (int64)",
      "tax_amount": "string (int64)",
      "tax_rate": "string (int64)",
      "recipient": "string (byte)",
      "order": "string (byte)",
      "order_contact": "string",
      "comment": "string",
      "delivery_date": "string (date-time)",
      "date_created": "string (date-time)",
      "extra_data": "string (byte)"
    },
    "salts": {
      "po_number": "string (byte)",
      "order_name": "string (byte)",
      "order_street": "string (byte)",
      "order_city": "string (byte)",
      "order_zipcode": "string (byte)",
      "order_country": "string (byte)",
      "recipient_name": "string (byte)",
      "recipient_street": "string (byte)",
      "recipient_city": "string (byte)",
      "recipient_zipcode": "string (byte)",
      "recipient_country": "string (byte)",
      "currency": "string (byte)",
      "order_amount": "string (byte)",
      "net_amount": "string (byte)",
      "tax_amount": "string (byte)",
      "tax_rate": "string (byte)",
      "recipient": "string (byte)",
      "order": "string (byte)",
      "order_contact": "string (byte)",
      "comment": "string (byte)",
      "delivery_date": "string (byte)",
      "date_created": "string (byte)",
      "extra_data": "string (byte)"
    }
  }
}

purchaseorderCreatePurchaseOrderProofEnvelope: object

document_identifier: string (byte)
fields: string[]
string
Example
{
  "document_identifier": "string (byte)",
  "fields": [
    "string"
  ]
}

purchaseorderGetPurchaseOrderDocumentEnvelope: object

document_identifier: string (byte)
Example
{
  "document_identifier": "string (byte)"
}

purchaseorderPurchaseOrderData: object

po_number: string
order_name: string
order_street: string
order_city: string
order_zipcode: string
order_country: string
recipient_name: string
recipient_street: string
recipient_city: string
recipient_zipcode: string
recipient_country: string
currency: string
order_amount: string (int64)
net_amount: string (int64)
tax_amount: string (int64)
tax_rate: string (int64)
recipient: string (byte)
order: string (byte)
order_contact: string
comment: string
delivery_date: string (date-time)
date_created: string (date-time)
extra_data: string (byte)
Example
{
  "po_number": "string",
  "order_name": "string",
  "order_street": "string",
  "order_city": "string",
  "order_zipcode": "string",
  "order_country": "string",
  "recipient_name": "string",
  "recipient_street": "string",
  "recipient_city": "string",
  "recipient_zipcode": "string",
  "recipient_country": "string",
  "currency": "string",
  "order_amount": "string (int64)",
  "net_amount": "string (int64)",
  "tax_amount": "string (int64)",
  "tax_rate": "string (int64)",
  "recipient": "string (byte)",
  "order": "string (byte)",
  "order_contact": "string",
  "comment": "string",
  "delivery_date": "string (date-time)",
  "date_created": "string (date-time)",
  "extra_data": "string (byte)"
}

purchaseorderPurchaseOrderDataSalts: object

PurhcaseOrderDataSalts keeps track of the salts used for each PurchaseOrderData field.

po_number: string (byte)
order_name: string (byte)
order_street: string (byte)
order_city: string (byte)
order_zipcode: string (byte)
order_country: string (byte)
recipient_name: string (byte)
recipient_street: string (byte)
recipient_city: string (byte)
recipient_zipcode: string (byte)
recipient_country: string (byte)
currency: string (byte)
order_amount: string (byte)
net_amount: string (byte)
tax_amount: string (byte)
tax_rate: string (byte)
recipient: string (byte)
order: string (byte)
order_contact: string (byte)
comment: string (byte)
delivery_date: string (byte)
date_created: string (byte)
extra_data: string (byte)
Example
{
  "po_number": "string (byte)",
  "order_name": "string (byte)",
  "order_street": "string (byte)",
  "order_city": "string (byte)",
  "order_zipcode": "string (byte)",
  "order_country": "string (byte)",
  "recipient_name": "string (byte)",
  "recipient_street": "string (byte)",
  "recipient_city": "string (byte)",
  "recipient_zipcode": "string (byte)",
  "recipient_country": "string (byte)",
  "currency": "string (byte)",
  "order_amount": "string (byte)",
  "net_amount": "string (byte)",
  "tax_amount": "string (byte)",
  "tax_rate": "string (byte)",
  "recipient": "string (byte)",
  "order": "string (byte)",
  "order_contact": "string (byte)",
  "comment": "string (byte)",
  "delivery_date": "string (byte)",
  "date_created": "string (byte)",
  "extra_data": "string (byte)"
}

purchaseorderPurchaseOrderDocument: object

PurchaseOrderDocument combines the salts, data & coredocument for a purchase order.

core_document: coredocumentCoreDocument
data: purchaseorderPurchaseOrderData
salts: purchaseorderPurchaseOrderDataSalts
Example
{
  "core_document": {
    "document_identifier": "string (byte)",
    "current_identifier": "string (byte)",
    "next_identifier": "string (byte)",
    "document_root": "string (byte)",
    "signing_root": "string (byte)",
    "previous_root": "string (byte)",
    "data_root": "string (byte)",
    "signatures": [
      {
        "entity_id": "string (byte)",
        "public_key": "string (byte)",
        "signature": "string (byte)",
        "timestamp": "string (date-time)"
      }
    ],
    "embedded_data": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "embedded_data_salts": {
      "type_url": "string",
      "value": "string (byte)"
    },
    "coredocument_salts": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)"
    }
  },
  "data": {
    "po_number": "string",
    "order_name": "string",
    "order_street": "string",
    "order_city": "string",
    "order_zipcode": "string",
    "order_country": "string",
    "recipient_name": "string",
    "recipient_street": "string",
    "recipient_city": "string",
    "recipient_zipcode": "string",
    "recipient_country": "string",
    "currency": "string",
    "order_amount": "string (int64)",
    "net_amount": "string (int64)",
    "tax_amount": "string (int64)",
    "tax_rate": "string (int64)",
    "recipient": "string (byte)",
    "order": "string (byte)",
    "order_contact": "string",
    "comment": "string",
    "delivery_date": "string (date-time)",
    "date_created": "string (date-time)",
    "extra_data": "string (byte)"
  },
  "salts": {
    "po_number": "string (byte)",
    "order_name": "string (byte)",
    "order_street": "string (byte)",
    "order_city": "string (byte)",
    "order_zipcode": "string (byte)",
    "order_country": "string (byte)",
    "recipient_name": "string (byte)",
    "recipient_street": "string (byte)",
    "recipient_city": "string (byte)",
    "recipient_zipcode": "string (byte)",
    "recipient_country": "string (byte)",
    "currency": "string (byte)",
    "order_amount": "string (byte)",
    "net_amount": "string (byte)",
    "tax_amount": "string (byte)",
    "tax_rate": "string (byte)",
    "recipient": "string (byte)",
    "order": "string (byte)",
    "order_contact": "string (byte)",
    "comment": "string (byte)",
    "delivery_date": "string (byte)",
    "date_created": "string (byte)",
    "extra_data": "string (byte)"
  }
}

purchaseorderPurchaseOrderProof: object

document_identifier: string (byte)
field_proofs: proofsProof
proofsProof
Example
{
  "document_identifier": "string (byte)",
  "field_proofs": [
    {
      "property": "string",
      "value": "string",
      "salt": "string (byte)",
      "hash": "string (byte)",
      "hashes": [
        {
          "left": "string (byte)",
          "right": "string (byte)"
        }
      ],
      "sortedHashes": [
        "string (byte)"
      ]
    }
  ]
}

purchaseorderReceivedPurchaseOrders: object

Example
{
  "purchaseorders": [
    {
      "core_document": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "document_root": "string (byte)",
        "signing_root": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)",
        "signatures": [
          {
            "entity_id": "string (byte)",
            "public_key": "string (byte)",
            "signature": "string (byte)",
            "timestamp": "string (date-time)"
          }
        ],
        "embedded_data": {
          "type_url": "string",
          "value": "string (byte)"
        },
        "embedded_data_salts": {
          "type_url": "string",
          "value": "string (byte)"
        },
        "coredocument_salts": {
          "document_identifier": "string (byte)",
          "current_identifier": "string (byte)",
          "next_identifier": "string (byte)",
          "previous_root": "string (byte)",
          "data_root": "string (byte)"
        }
      },
      "data": {
        "po_number": "string",
        "order_name": "string",
        "order_street": "string",
        "order_city": "string",
        "order_zipcode": "string",
        "order_country": "string",
        "recipient_name": "string",
        "recipient_street": "string",
        "recipient_city": "string",
        "recipient_zipcode": "string",
        "recipient_country": "string",
        "currency": "string",
        "order_amount": "string (int64)",
        "net_amount": "string (int64)",
        "tax_amount": "string (int64)",
        "tax_rate": "string (int64)",
        "recipient": "string (byte)",
        "order": "string (byte)",
        "order_contact": "string",
        "comment": "string",
        "delivery_date": "string (date-time)",
        "date_created": "string (date-time)",
        "extra_data": "string (byte)"
      },
      "salts": {
        "po_number": "string (byte)",
        "order_name": "string (byte)",
        "order_street": "string (byte)",
        "order_city": "string (byte)",
        "order_zipcode": "string (byte)",
        "order_country": "string (byte)",
        "recipient_name": "string (byte)",
        "recipient_street": "string (byte)",
        "recipient_city": "string (byte)",
        "recipient_zipcode": "string (byte)",
        "recipient_country": "string (byte)",
        "currency": "string (byte)",
        "order_amount": "string (byte)",
        "net_amount": "string (byte)",
        "tax_amount": "string (byte)",
        "tax_rate": "string (byte)",
        "recipient": "string (byte)",
        "order": "string (byte)",
        "order_contact": "string (byte)",
        "comment": "string (byte)",
        "delivery_date": "string (byte)",
        "date_created": "string (byte)",
        "extra_data": "string (byte)"
      }
    }
  ]
}

purchaseorderSendPurchaseOrderEnvelope: object

recipients: string[]
string (byte)
document: purchaseorderPurchaseOrderDocument
Example
{
  "recipients": [
    "string (byte)"
  ],
  "document": {
    "core_document": {
      "document_identifier": "string (byte)",
      "current_identifier": "string (byte)",
      "next_identifier": "string (byte)",
      "document_root": "string (byte)",
      "signing_root": "string (byte)",
      "previous_root": "string (byte)",
      "data_root": "string (byte)",
      "signatures": [
        {
          "entity_id": "string (byte)",
          "public_key": "string (byte)",
          "signature": "string (byte)",
          "timestamp": "string (date-time)"
        }
      ],
      "embedded_data": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "embedded_data_salts": {
        "type_url": "string",
        "value": "string (byte)"
      },
      "coredocument_salts": {
        "document_identifier": "string (byte)",
        "current_identifier": "string (byte)",
        "next_identifier": "string (byte)",
        "previous_root": "string (byte)",
        "data_root": "string (byte)"
      }
    },
    "data": {
      "po_number": "string",
      "order_name": "string",
      "order_street": "string",
      "order_city": "string",
      "order_zipcode": "string",
      "order_country": "string",
      "recipient_name": "string",
      "recipient_street": "string",
      "recipient_city": "string",
      "recipient_zipcode": "string",
      "recipient_country": "string",
      "currency": "string",
      "order_amount": "string (int64)",
      "net_amount": "string (int64)",
      "tax_amount": "string (int64)",
      "tax_rate": "string (int64)",
      "recipient": "string (byte)",
      "order": "string (byte)",
      "order_contact": "string",
      "comment": "string",
      "delivery_date": "string (date-time)",
      "date_created": "string (date-time)",
      "extra_data": "string (byte)"
    },
    "salts": {
      "po_number": "string (byte)",
      "order_name": "string (byte)",
      "order_street": "string (byte)",
      "order_city": "string (byte)",
      "order_zipcode": "string (byte)",
      "order_country": "string (byte)",
      "recipient_name": "string (byte)",
      "recipient_street": "string (byte)",
      "recipient_city": "string (byte)",
      "recipient_zipcode": "string (byte)",
      "recipient_country": "string (byte)",
      "currency": "string (byte)",
      "order_amount": "string (byte)",
      "net_amount": "string (byte)",
      "tax_amount": "string (byte)",
      "tax_rate": "string (byte)",
      "recipient": "string (byte)",
      "order": "string (byte)",
      "order_contact": "string (byte)",
      "comment": "string (byte)",
      "delivery_date": "string (byte)",
      "date_created": "string (byte)",
      "extra_data": "string (byte)"
    }
  }
}