Community
Questions Library
Docs
Blog
Events
Swag
Github
Slack
JupiterOne
Discussions
Release Notes
Contact Us
JupiterOne Bulk Upload Schema - AskJ1 Community
<main> <article class="userContent"> <p>IMPORTANT: Bulk upload triggers a data synchronization process that automatically <strong>updates</strong> or <strong>deletes</strong> entities/relationships as needed. Previously existing entities/relationships within the same <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">scope</code> that no longer exist in the latest upload will be marked for deletion.</p> <p>Therefore, the upload file should always include the <strong>complete</strong> set of entities or relationships within the defined <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">scope</code> to avoid unintended data deletion.</p> <p>In the UI, users are prompted to select/enter a <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">scope</code> when uploading a file. In the API, <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">scope</code> is provided when starting a synchronization job.</p> <p><strong>For example:</strong></p> <pre class="code codeBlock" spellcheck="false" tabindex="0">POST /persister/synchronization/jobs </pre> <pre class="code codeBlock" spellcheck="false" tabindex="0"> { "source": "api", "scope": "my-sync-job" } </pre> <p>See the <a rel="nofollow" href="https://jupiterone.vanillacommunities.com/kb/articles/794-jupiterone-api">API documentation</a> for more details.</p> <p>To successfully upload entity and relationship data, follow the schema outlined below:</p> <pre class="code codeBlock" spellcheck="false" tabindex="0">{ "entities": [ { "_key": "1", "_type": "bulk_upload_entity", "_class": "EntityClass", "displayName": "Entity's displayName to show in UI", "owner": "Owner's name" // ...any other properties defined for the given type/class }, { "_key": "2", "_type": "bulk_upload_entity", "_class": "EntityClass", "displayName": "Entity's displayName to show in UI", "owner": "Owner's name" // ...any other properties defined for the given type/class } ], "relationships": [ { "_key": "a", "_type": "bulk_upload_relationship", "_class": "VERB", "_fromEntityKey": "1", "_toEntityKey": "2" }, { "_key": "b", "_type": "bulk_upload_relationship", "_class": "VERB", "_fromEntityKey": "2", "_toEntityKey": "1" } ] } </pre> <h2 data-id="entity-properties">Entity Properties</h2> <table><thead><tr><th>Property</th> <th>Type</th> <th>Description</th> </tr></thead><tbody><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_key</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">string</code></td> <td>A unique identifier/key for this entity within the scope defined by <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_scope</code>.</td> </tr><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_type</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">string</code></td> <td>User defined type for this entity. Value should be in <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">snake_case</code>.</td> </tr><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_class</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">string</code> or <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">string[]</code></td> <td>The defined class for this entity. Value should be in <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">TitleCase</code>.</td> </tr><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">owner</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">string</code></td> <td>Identifier for the person/thing responsible for this entity.</td> </tr></tbody></table><p>Properties with <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_</code> prefix are reserved as JupiterOne system internal metadata properties. Other than <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_key</code>, <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_type</code>, <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_class</code> as listed above, any other property beginning with <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_</code> will be ignored when processing the upload.</p> <h2 data-id="relationship-properties">Relationship Properties</h2> <table><thead><tr><th>Property</th> <th>Type</th> <th>Description</th> </tr></thead><tbody><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_key</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">string</code></td> <td>A unique identifier/key for this relationship within the defined <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_scope</code>.</td> </tr><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_type</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">string</code></td> <td>User defined type for this relationship. Value should be in <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">snake_case</code>.</td> </tr><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_class</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">string</code></td> <td>Relationship class. Typically a third-person singular verb such as <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">HAS</code> or <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">MANAGES</code> or <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">ALLOWS</code>. Value should be in <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">CAPS</code>.</td> </tr><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_fromEntityKey</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">string</code></td> <td>The unique key for the entity on the "from" side of this relationship.</td> </tr><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_toEntityKey</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">string</code></td> <td>The unique key for the entity on the "to" side of this relationship.</td> </tr></tbody></table><p>Properties with <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_</code> prefix are reserved as JupiterOne system internal metadata properties. Other than <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_key</code>, <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_type</code>, <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_class</code>, <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_fromEntityKey</code>, and <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_toEntityKey</code> as listed above, any other property beginning with <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_</code> will be ignored when processing the upload.</p> <p>Read more about <a rel="nofollow" href="https://jupiterone.vanillacommunities.com/kb/articles/1157-creating-relationships-between-assets-you-own-and-assets-you-do-not">creating relationships between entities</a>.</p> </article> </main>