{"templateId":"markdown","sharedDataIds":{},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Subprojects","description":"Accelerate E&P application development and protect your innovation by consuming our Data and Domain APIs / Platform APIs.","lang":"en-US","meta":[{"name":"robots","content":"noindex"}],"llmstxt":{"hide":true,"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"subprojects","__idx":0},"children":["Subprojects"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A subproject is the main working unit in seismic store. A subproject has an isolated access scope inside a tenant resource. Authorizations and user data access are regulated at this level."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"create-a-new-subproject","__idx":1},"children":["Create a new subproject"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required Role"]},": users.datalake.admin"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]},": register a new subproject resource in seismic store"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Notes"]},": when a new subproject  is created a new storage resource in the cloud is reserved ( for example a GCS bucket for google cloud provider )"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Param.body.admin"]},": the email of the user to set as admin in the subproject (user must be registered in the data partition). The role of subproject.admin will be assigned to the user."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Param.body.storage_class"]},": the associated bucket storage class (google)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Param.body.storage_location"]},": the associated bucket storage class (google)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Param.header.ltag"]},": the default subproject legal tag (applied by default subproject datasets). Refer to the compliance service tutorial to learn how to create a manage legal Tags."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# seistore subproject API call\ncurl -s -X POST \\\"https://HOST/seistore-svc/api/v3/subproject/tenant/TENANT_NAME/subproject/SUBPROJECT_NAME\\\" \\\\\n    -H \\\"accept: application/json\\\" \\\\\n    -H \\\"Content-Type: application/json\\\" \\\\\n    -H \\\"Authorization: Bearer STOKEN\\\" \\\\\n    -H \\\"ltag: LEGAL_TAG\\\" \\\\\n    -d \\\" { \\\\\\\"admin\\\\\\\": \\\\\\\"SUBPROJECT_USER_ADMIN\\\\\\\", \\\\\\\"storage_class\\\\\\\": \\\\\\\"STORAGE_CLASS\\\\\\\", \\\\\\\"storage_location\\\\\\\": \\\\\\\"STORAGE_LOCATION\\\\\\\" } \\\"\n\n# API response \n{\n  \\\"name\\\": \\\"tutorial\\\",\n  \\\"tenant\\\": \\\"company\\\",\n  \\\"admin\\\": \\\"testUserSeistoreAdmin@company.com\\\",\n  \\\"storage_class\\\": \\\"MULTI_REGIONAL\\\",\n  \\\"storage_location\\\": \\\"US\\\",\n  \\\"ltag\\\": \\\"company-public-usa-seistore-1\\\",\n  \\\"gcs_bucket\\\": \\\"ss-p4d-0bgo83wqmh3ggoev\\\"\n}\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"retrieve-stat-information-for-a-subproject","__idx":2},"children":["Retrieve stat information for a subproject"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required Role"]},": subproject.admin"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]},": retrieve meta-information for a tenant project"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# seistore subproject API call\ncurl -s -X GET \\\"https://HOST/seistore-svc/api/v3/subproject/tenant/TENANT_NAME/subproject/SUBPROJECT_NAME\\\" \\\\\n    -H \\\"accept: application/json\\\" \\\\\n    -H \\\"Authorization: Bearer STOKEN\\\" \n\n# API response \n{\n  \\\"name\\\": \\\"tutorial\\\",\n  \\\"tenant\\\": \\\"company\\\",\n  \\\"admin\\\": \\\"testUserSeistoreAdmin@company.com\\\",\n  \\\"storage_class\\\": \\\"MULTI_REGIONAL\\\",\n  \\\"storage_location\\\": \\\"US\\\",\n  \\\"ltag\\\": \\\"company-public-usa-seistore-1\\\",\n  \\\"gcs_bucket\\\": \\\"ss-p4d-0bgo83wqmh3ggoev\\\"\n}\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"list-subprojects-in-a-tenant","__idx":3},"children":["List subprojects in a tenant"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required Role"]},": users.datalake.admin"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]},": retrieve the list of subprojects hosted in a tenant."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Notes"]},": this endpoint is provided for diagnostic purposes only, refer to the most generic /utility/ls."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# seistore subproject API call\ncurl -s -X GET \\\"https://HOST/seistore-svc/api/v3/subproject/tenant/TENANT_NAME\\\" \\\\\n    -H \\\"accept: application/json\\\" \\\\\n    -H \\\"Authorization: Bearer STOKEN\\\"\n\n\n# API response \n[\n  {\n    \\\"name\\\": \\\"tutorial\\\",\n    \\\"tenant\\\": \\\"company\\\",\n    \\\"admin\\\": \\\"testUserSeistoreAdmin@company.com\\\",\n    \\\"storage_class\\\": \\\"MULTI_REGIONAL\\\",\n    \\\"storage_location\\\": \\\"US\\\",\n    \\\"ltag\\\": \\\"company-public-usa-seistore-1\\\",\n    \\\"gcs_bucket\\\": \\\"ss-p4d-0bgo83wqmh3ggoev\\\"\n  }\n]\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"update-subproject-meta-information-legaltag","__idx":4},"children":["Update subproject meta-information (legalTag)"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required Role"]},": subproject.admin"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]},": replace the default subproject legal tag (for example you are required to replace an expired legal tag)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Param.query.recursive"]},": if true, the update will be propagated to all datasets with the same initial legal tag information (initial = before being patched)"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# seistore subproject API call\ncurl -s -X PATCH \\\"https://HOST/seistore-svc/api/v3/subproject/tenant/TENANT_NAME/subproject/SUBPROJECT_NAME\\\" \\\\\n    -H  \\\"accept: application/json\\\" \\\\\n    -H \\\"Authorization: Bearer STOKEN\\\" \\\\\n    -H \\\"ltag: LEGAL_TAG\\\"\n\n# API response \n]\n  \\\"name\\\": \\\"tutorial\\\",\n  \\\"tenant\\\": \\\"company\\\",\n  \\\"admin\\\": \\\"testUserSeistoreAdmin@company.com\\\",\n  \\\"storage_class\\\": \\\"MULTI_REGIONAL\\\",\n  \\\"storage_location\\\": \\\"US\\\",\n  \\\"ltag\\\": \\\"company-public-usa-seistore-1\\\",\n  \\\"gcs_bucket\\\": \\\"ss-p4d-0bgo83wqmh3ggoev\\\"\n}\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"delete-a-subproject","__idx":5},"children":["Delete a subproject"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required Role"]},": subproject.admin"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]},": delete a subproject and all contained datasets."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Notes"]},": This is a \"hard-delete\" operation and cannot be reversed. It will ignore locked datasets (these will be deleted also if locked)"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# seistore subproject API call\ncurl -X DELETE \\\"https://HOST/seistore-svc/api/v3/subproject/tenant/TENANT_NAME/subproject/SUBPROJECT_NAME\\\" \\\\\n    -H \\\"accept: application/json\\\" \\\\\n    -H \\\"Authorization: Bearer STOKEN\\\" \n\n# this api returns an empty response\n","lang":"bash"},"children":[]}]},"headings":[{"value":"Subprojects","id":"subprojects","depth":1},{"value":"Create a new subproject","id":"create-a-new-subproject","depth":2},{"value":"Retrieve stat information for a subproject","id":"retrieve-stat-information-for-a-subproject","depth":2},{"value":"List subprojects in a tenant","id":"list-subprojects-in-a-tenant","depth":2},{"value":"Update subproject meta-information (legalTag)","id":"update-subproject-meta-information-legaltag","depth":2},{"value":"Delete a subproject","id":"delete-a-subproject","depth":2}],"frontmatter":{"seo":{"title":"Subprojects"}},"lastModified":"2025-04-08T20:08:32.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/solutions/seismic-dms/tutorial/subprojects","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}