Skip to content

Custom Storage

The Custom Storage service collection provides operations for managing custom object storage within the CrowdStrike platform. List, describe, search, get, upload, and delete objects within named collections. Support includes versioned collections with schema management and metadata retrieval.

LanguageLast Update
Pythonv1.6.5
PowerShell
Gov0.22.0
TypeScriptv0.6.0
Rustv0.7.1
Rubyv1.4.0


OperationDescription
DeleteObject
delete
Delete the specified object
DeleteVersionedObject
delete_version
Delete the specified versioned object
DescribeCollection
describe_collection
Fetch metadata about an existing collection
DescribeCollections
describe_collections
Fetch metadata about one or more existing collections
GetObject
get
Get the bytes for the specified object
GetObjectMetadata
metadata
Get the metadata for the specified object
GetSchema
get_schema
Get the bytes of the specified schema of the requested collection
GetSchemaMetadata
schema_metadata
Get the metadata for the specified schema of the requested collection
GetVersionedObject
get_version
Get the bytes for the specified object
GetVersionedObjectMetadata
version_metadata
Get the metadata for the specified object
ListCollections
list_collections
List available collection names in alphabetical order
ListObjects
list
List the object keys in the specified collection in alphabetical order
ListObjectsByVersion
list_by_version
List the object keys in the specified collection in alphabetical order
ListSchemas
list_schemas
Get the list of schemas for the requested collection in reverse version order (latest first)
PutObject
upload
Put the specified new object at the given key or overwrite an existing object at the given key
PutObjectByVersion
upload_version
Put the specified new object at the given key or overwrite an existing object at the given key
SearchObjects
search
Search for objects that match the specified filter criteria (returns metadata, not actual objects)
SearchObjectsByVersion
search_by_version
Search for objects that match the specified filter criteria (returns metadata, not actual objects)

Delete the specified object

Method DELETE
Route /customobjects/v1/collections/{collection_name}/objects/{object_key}
Scope Custom storage: WRITE
PEP 8 delete
collection_name path · string
The name of the collection
dry_run query · boolean
If false, run the operation as normal. If true, validate that the request *would* succeed, but don’t execute it.
object_key path · string
The object key
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.delete(collection_name="string",
dry_run=boolean,
object_key="string")
print(response)
[
{
"collection_name": "string",
"collection_version": "string",
"last_modified_time": "string",
"namespace": "string",
"object_key": "string",
"schema_version": "string"
}
]


Delete the specified versioned object

Method DELETE
Route /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key}
Scope Custom storage: WRITE
PEP 8 delete_version
collection_name path · string
The name of the collection
collection_version path · string
The version of the collection
dry_run query · boolean
If false, run the operation as normal. If true, validate that the request *would* succeed, but don’t execute it.
object_key path · string
The object key
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.delete_version(collection_name="string",
collection_name="string",
dry_run=boolean,
object_key="string")
print(response)
[
{
"collection_name": "string",
"collection_version": "string",
"last_modified_time": "string",
"namespace": "string",
"object_key": "string",
"schema_version": "string"
}
]


Fetch metadata about an existing collection

Method GET
Route /customobjects/v1/collections/{collection_name}
Scope Custom storage: READ
PEP 8 describe_collection
collection_name path · string
The name of the collection
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.describe_collection(collection_name="string")
print(response)
[
{
"agent_tools_meta": {},
"created_by": {},
"created_timestamp": "string",
"description": "string",
"draft_schema_version": "string",
"is_global": false,
"last_modified_by": {},
"last_modified_timestamp": "string",
"name": "string",
"namespace": "string",
"permissions": [],
"published_version": "string",
"schema_version": "string",
"status": "string",
"version": "string",
"workflow_meta": {}
}
]


Fetch metadata about one or more existing collections

Method PUT
Route /customobjects/v1/collections
Scope Custom storage: READ
PEP 8 describe_collections
names query · string or list of strings
A set of collection names
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.describe_collections(names=id_list)
print(response)
[
{
"agent_tools_meta": {},
"created_by": {},
"created_timestamp": "string",
"description": "string",
"draft_schema_version": "string",
"is_global": false,
"last_modified_by": {},
"last_modified_timestamp": "string",
"name": "string",
"namespace": "string",
"permissions": [],
"published_version": "string",
"schema_version": "string",
"status": "string",
"version": "string",
"workflow_meta": {}
}
]


Get the bytes for the specified object

Method GET
Route /customobjects/v1/collections/{collection_name}/objects/{object_key}
Scope Custom storage: READ
PEP 8 get
collection_name path · string
The name of the collection
object_key path · string
The object key
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
with open("output_file", "wb") as save_file:
response = falcon.get(collection_name="string",
object_key="string",
stream=boolean)
save_file.write(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Get the metadata for the specified object

Method GET
Route /customobjects/v1/collections/{collection_name}/objects/{object_key}/metadata
Scope Custom storage: READ
PEP 8 metadata
collection_name path · string
The name of the collection
object_key path · string
The object key
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.metadata(collection_name="string", object_key="string")
print(response)
[
{
"collection_name": "string",
"collection_version": "string",
"last_modified_time": "string",
"namespace": "string",
"object_key": "string",
"schema_version": "string"
}
]


Get the bytes of the specified schema of the requested collection

Method GET
Route /customobjects/v1/collections/{collection_name}/schemas/{schema_version}
Scope Custom storage: READ
PEP 8 get_schema
collection_name path · string
The name of the collection
schema_version path · string
The version of the collection schema or ‘latest’ for the latest version
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
with open("output_file", "wb") as save_file:
response = falcon.get_schema(collection_name="string",
schema_version="string",
stream=boolean)
save_file.write(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Get the metadata for the specified schema of the requested collection

Method GET
Route /customobjects/v1/collections/{collection_name}/schemas/{schema_version}/metadata
Scope Custom storage: READ
PEP 8 schema_metadata
collection_name path · string
The name of the collection
schema_version path · string
The version of the collection schema or ‘latest’ for the latest version
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.schema_metadata(collection_name="string",
schema_version="string")
print(response)
[
{
"collection_name": "string",
"collection_version": "string",
"create_timestamp": "string",
"created_by": {},
"indexed_fields": [],
"last_modified_by": {},
"last_modified_timestamp": "string",
"namespace": "string",
"status": "string",
"type": "string",
"version": "string"
}
]


Get the bytes for the specified object

Method GET
Route /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key}
Scope Custom storage: READ
PEP 8 get_version
collection_name path · string
The name of the collection
collection_version path · string
The version of the collection
object_key path · string
The object key
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
with open("output_file", "wb") as save_file:
response = falcon.get_version(collection_name="string",
collection_version="string",
object_key="string",
stream=boolean)
save_file.write(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Get the metadata for the specified object

Method GET
Route /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key}/metadata
Scope Custom storage: READ
PEP 8 version_metadata
collection_name path · string
The name of the collection
collection_version path · string
The version of the collection
object_key path · string
The object key
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.version_metadata(collection_name="string",
collection_version="string",
object_key="string")
print(response)
[
{
"collection_name": "string",
"collection_version": "string",
"last_modified_time": "string",
"namespace": "string",
"object_key": "string",
"schema_version": "string"
}
]


List available collection names in alphabetical order

Method GET
Route /customobjects/v1/collections
Scope Custom storage: READ
PEP 8 list_collections
end query · string
The end key to end listing to
limit query · integer
The limit of results to return
start query · string
The start key to start listing from
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.list_collections(end="string", limit=integer, start="string")
print(response)
[
"string"
]


List the object keys in the specified collection in alphabetical order

Method GET
Route /customobjects/v1/collections/{collection_name}/objects
Scope Custom storage: READ
PEP 8 list
collection_name path · string
The name of the collection
end query · string
The end key to end listing to
limit query · integer
The limit of results to return
start query · string
The start key to start listing from
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.list(collection_name="string",
end="string",
limit=integer,
start="string")
print(response)
[
"string"
]


List the object keys in the specified collection in alphabetical order

Method GET
Route /customobjects/v1/collections/{collection_name}/{collection_version}/objects
Scope Custom storage: READ
PEP 8 list_by_version
collection_name path · string
The name of the collection
collection_version path · string
The version of the collection
end query · string
The end key to end listing to
limit query · integer
The limit of results to return
start query · string
The start key to start listing from
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.list_by_version(collection_name="string",
collection_version="string",
end="string",
limit=integer,
start="string")
print(response)
[
"string"
]


Get the list of schemas for the requested collection in reverse version order (latest first)

Method GET
Route /customobjects/v1/collections/{collection_name}/schemas
Scope Custom storage: READ
PEP 8 list_schemas
collection_name path · string
The name of the collection
end query · string
The end key to end listing to
limit query · integer
The limit of results to return
start query · string
The start key to start listing from
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.list_schemas(collection_name="string",
end="string",
limit=integer,
start="string")
print(response)
[
"string"
]


Put the specified new object at the given key or overwrite an existing object at the given key

Method PUT
Route /customobjects/v1/collections/{collection_name}/objects/{object_key}
Scope Custom storage: WRITE
PEP 8 upload
body body · dictionary
Full body payload as JSON formatted dictionary.
collection_name path · string
The name of the collection
dry_run query · boolean
If false, run the operation as normal. If true, validate that the request *would* succeed, but don’t execute it.
object_key path · string
The object key
schema_version query · string
The version of the collection schema
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.upload(collection_name="string",
dry_run=boolean,
object_key="string",
schema_version="string")
print(response)
[
{
"collection_name": "string",
"collection_version": "string",
"last_modified_time": "string",
"namespace": "string",
"object_key": "string",
"schema_version": "string"
}
]


Put the specified new object at the given key or overwrite an existing object at the given key

Method PUT
Route /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key}
Scope Custom storage: WRITE
PEP 8 upload_version
body body · dictionary
Full body payload as JSON formatted dictionary.
collection_name path · string
The name of the collection
collection_version path · string
The version of the collection
dry_run query · boolean
If false, run the operation as normal. If true, validate that the request *would* succeed, but don’t execute it.
object_key path · string
The object key
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
schema_version body · string
The version of the collection schema.
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.upload_version(collection_name="string",
collection_version="string",
dry_run=boolean,
object_key="string",
schema_version="string")
print(response)
[
{
"collection_name": "string",
"collection_version": "string",
"last_modified_time": "string",
"namespace": "string",
"object_key": "string",
"schema_version": "string"
}
]


Search for objects that match the specified filter criteria (returns metadata, not actual objects)

Method POST
Route /customobjects/v1/collections/{collection_name}/objects
Scope Custom storage: READ
PEP 8 search
collection_name path · string
The name of the collection
filter query · string
The filter to limit the returned results.
limit query · integer
The limit of results to return
offset query · integer
The offset of results to return
sort query · string
The sort order for the returned results.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.search(collection_name="string",
filter="string",
limit=integer,
offset=integer,
sort="string")
print(response)
[
{
"collection_name": "string",
"collection_version": "string",
"last_modified_time": "string",
"namespace": "string",
"object_key": "string",
"schema_version": "string"
}
]


Search for objects that match the specified filter criteria (returns metadata, not actual objects)

Method POST
Route /customobjects/v1/collections/{collection_name}/{collection_version}/objects
Scope Custom storage: READ
PEP 8 search_by_version
collection_name path · string
The name of the collection
collection_version path · string
The version of the collection
filter query · string
The filter to limit the returned results.
limit query · integer
The limit of results to return
offset query · integer
The offset of results to return
sort query · string
The sort order for the returned results.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CustomStorage
falcon = CustomStorage(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.search_by_version(collection_name="string",
collection_version="string",
filter="string",
limit=integer,
offset=integer,
sort="string")
print(response)
[
{
"collection_name": "string",
"collection_version": "string",
"last_modified_time": "string",
"namespace": "string",
"object_key": "string",
"schema_version": "string"
}
]