Servers
The File API is specified immediately after the domain using the suffix /file
https://{hub}.api.seequent.com/file
Placeholder | Value | Description |
---|---|---|
hub | sbc | The APIM sandbox hostname, in this case representing ‘sandbox Canada’ |
Authentication and Authorization
The Seequent File API uses mutual authentication. For details, please see the Authentication and Authorization page.
Example
Request
cURL
curl --location --request PUT "https://sbc.api.seequent.com/file/customer/abcdabcd-1234-5678-90ab-abcdefabcdef/integration/image.jpg" --header "Content-Length:0" --header "Authorization: Bearer jwt" --cert cert.pem --key cert.key
Response
401 Unauthorised response will be returned if we don’t know who you are
403 Forbidden response will be returned if we know who you are but you don’t have access to what you are asking for
PUT Upload a file
Request to upload a file; an Azure Blob Storage upload link is provided to complete the operation. If the folders in the file path do not exist, they will be created. If the file already exists, then a new version will be created.
Request
PUT https://sbc.api.seequent.com/file/{org_id}/{project_id}/{path}/{filename}
Request Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
org_id | path | true | string | A unique name identifying a customer with a Seequent Central instance |
project_id | path | true | string | A project identifier in a customer’s Seequent Central instance |
path | path | true | string | The path within the data store for the target file. If the folders in the path do not exist, they will be created. |
filename | path | true | string | The filename that will be used for the uploaded file in the data store. If the file does not exist it will be created. If it already exists, a new version will be created. The filename does not need to match the source file that will be sent. |
Example
Request
cURL
curl --location --request PUT "https://sbc.api.seequent.com/file/customer/abcdabcd-1234-5678-90ab-abcdefabcdef/integration/image.jpg" --header "Content-Length:0" --header "Authorization: Bearer jwt" --cert cert.pem --key cert.key
Response
{ “upload”: “https://strg001partner.blob.core.windows.net/datastore-sbc-seequent/2021/M/DD/0/0123456789abcdef0123456789abcdef?se=2021-MM-DDT01%3A04%3A57Z&sp=wt&sv=2020-MM-DD&sr=b&sig=%2B123456781234567812345678%2B12345678901234567890ab%3D” }
The returned link is a pre-signed URL for a Microsoft Azure Blob store within our Seequent hubs. It has a 5 minute expiry, so make a second PUT request within this time window, but this time to the returned URL. Specify a binary body containing the file to upload, with the addition of header key-value pair x-ms-blob-type : BlockBlob as required by the MS Azure documentation: https://docs.microsoft.com/en-us/rest/api/storageservices/put-blob
Note: There is no need to submit the JWT as a verification token on this subsequent request as the request is being sent to the MS Azure API, not the Seequent Evo API.
Request
PUT https://strg001partner.blob.core.windows.net/datastore-sbc-seequent/2021/M/DD/0/0123456789abcdef0123456789abcdef?se=2021-MM-DDT01%3A04%3A57Z&sp=wt&sv=2020-MM-DD&sr=b&sig=%2B123456781234567812345678%2B12345678901234567890ab%3D
Request Parameters
Key | In | Required | Type | Value |
---|---|---|---|---|
x-ms-blob-type | header | true | string | BlockBlob |
Example
Request
cURL
curl --location --request PUT 'https://strg001partner.blob.core.windows.net/datastore-sbc-seequent/2021/M/DD/0/0123456789abcdef0123456789abcdef?se=2021-08-31T01%3A04%3A57Z&sp=wt&sv=2020-04-08&sr=b&sig=%2B123456781234567812345678%2B12345678901234567890ab%3D' \
--header 'x-ms-blob-type: BlockBlob' \
--header 'Content-Type: text/plain' \
--data-binary '@/C:/path/image.png'
Response
201 Created will indicate you have successfully stored a file!
There are some failure modes that might mean you get a less positive response. See the Authentication & Authorization section above for 401 and 403 responses.