OAA Operations
API calls for managing and updating custom data sources
Use these REST API calls to manage and update custom providers and data sources with Open Authorization API.
Create Custom Provider
Creates a custom provider and returns the provider ID.
List Custom Providers
Lists all configured custom providers.
Get Custom Provider by ID
Returns details for an individual custom provider.
Delete Custom Provider
Delete a custom provider by ID.
List Custom Provider Datasources
Return all data sources for a Custom Provider ID.
You can constrain large responses by adding a filter to the request query string. Include the operator (eq
), and value, for example:
CURL <VEZA_URL>/api/v1/providers/custom?filter=name eq "GitHub"&order_by=state
Veza expects that spaces in URLS are encoded as "+
" (for example?name+eq+"GitHub"&order_by=state
). Note that some libraries and clients will encode spaces as "%2B
" by default, which will cause errors unless you override this behavior.
Create Custom Provider Datasource
Register a new datasource for a custom provider. There can be more than one datasource for a single provider.
Get Datasource by ID
Returns details for a single datasource.
Delete Custom Provider Datasource
Unbind a datasource from a custom provider, and delete it.
Push Custom Provider Datasource
To push authorization metadata for a custom datasource, you can specify the source and provider IDs, and upload a payload with the entities and permissions in JSON format.
You can also use the push_csv
endpoint to upload CSV data prepared with the expected
CSV Import columns.
A warning is returned if a matching identity can't be found for an IdP principal.
Compression
The populated template can be compressed and encoded, for significantly reduced payload size.
Specify the
compression_type
. Currently supported:GZIP
.If compression is selected, Veza will expect the payload
json_data
as a compressed, base64-encoded string.
To compress using shell commands:
Size is typically not an issue when updating custom datasources. However, you may want to compress large payloads. The maximum body size is 100MB (compressed or uncompressed).
Escaping unsafe characters
Veza expects the populated template as a single JSON string, enclosed in the request body json_data
field. Any "
s and non-ASCII characters must be escaped.
To convert a template to JSON string using Python, the json.dumps()
method could be used:
Custom Provider Icons
You can optionally add an icon for your custom provider by uploading a PNG or SVG file (less than 64kb) as a base64-encoded string:
Create Custom Provider Icon
Upload a custom icon to display for an OAA provider.
Get Custom Provider Icon
Return the type and string-encoded icon for a custom provider.
Delete Custom Provider Icon
Delete the icon associated with an OAA provider.
Last updated