GET /v1/storedProcedures/{id}
from metadata.sdk import configure
from metadata.sdk.entities import StoredProcedures
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Get by ID
sp = StoredProcedures.retrieve("770e8400-e29b-41d4-a716-446655440000")
print(f"{sp.fullyQualifiedName}: {sp.description}")
# Get by ID with fields
sp = StoredProcedures.retrieve(
"770e8400-e29b-41d4-a716-446655440000",
fields=["owners", "tags", "storedProcedureCode"]
)
# Get by fully qualified name
sp = StoredProcedures.retrieve_by_name("snowflake_prod.analytics.public.usp_refresh_analytics")
# Get by name with fields
sp = StoredProcedures.retrieve_by_name(
"snowflake_prod.analytics.public.usp_refresh_analytics",
fields=["owners", "tags", "domain"]
)
import static org.openmetadata.sdk.fluent.StoredProcedures.*;
// Get by ID
var sp = StoredProcedures.retrieve("770e8400-e29b-41d4-a716-446655440000");
// Get by ID with fields
var sp = StoredProcedures.retrieve(
"770e8400-e29b-41d4-a716-446655440000",
"owners,tags,storedProcedureCode"
);
// Get by fully qualified name
var sp = StoredProcedures.retrieveByName(
"snowflake_prod.analytics.public.usp_refresh_analytics"
);
// Get by name with fields
var sp = StoredProcedures.retrieveByName(
"snowflake_prod.analytics.public.usp_refresh_analytics",
"owners,tags,domain"
);
# Get by ID
curl "{base_url}/api/v1/storedProcedures/d02b24fa-a246-4563-adf1-9ad21f251c0e" \
-H "Authorization: Bearer {access_token}"
# Get by ID with fields
curl "{base_url}/api/v1/storedProcedures/d02b24fa-a246-4563-adf1-9ad21f251c0e?fields=owners,tags,domains" \
-H "Authorization: Bearer {access_token}"
# Get by fully qualified name
curl "{base_url}/api/v1/storedProcedures/name/sample_data.ecommerce_db.shopify.calculate_average" \
-H "Authorization: Bearer {access_token}"
# Get by name with fields
curl "{base_url}/api/v1/storedProcedures/name/sample_data.ecommerce_db.shopify.calculate_average?fields=owners,tags,domains" \
-H "Authorization: Bearer {access_token}"
{
"id": "d02b24fa-a246-4563-adf1-9ad21f251c0e",
"name": "calculate_average",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.calculate_average",
"description": "Procedure to calculate average",
"storedProcedureCode": {
"code": "CREATE OR REPLACE PROCEDURE calculate_average(numbers INT ARRAY) RETURNS FLOAT NOT NULL LANGUAGE SQL AS $$DECLARE sum_val INT = 0;count_val INT = 0;average_val FLOAT;BEGIN\n FOR num IN ARRAY numbers DO sum_val := sum_val + num;\n count_val := count_val + 1;\nEND FOR;\nIF count_val = 0 THEN\n average_val := 0.0;\nELSE\n average_val := sum_val / count_val;\nEND IF;\nRETURN average_val;\nEND;$$;"
},
"version": 0.1,
"updatedAt": 1769982660822,
"updatedBy": "admin",
"storedProcedureType": "StoredProcedure",
"href": "http://localhost:8585/api/v1/storedProcedures/d02b24fa-a246-4563-adf1-9ad21f251c0e",
"databaseSchema": {
"id": "4dd30184-009c-4792-b296-9562eaed651f",
"type": "databaseSchema",
"name": "shopify",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify",
"description": "This **mock** database contains schema related to shopify sales and orders with related dimension tables.",
"displayName": "shopify",
"deleted": false,
"href": "http://localhost:8585/api/v1/databaseSchemas/4dd30184-009c-4792-b296-9562eaed651f"
},
"database": {
"id": "0be090de-0941-48c4-af49-a6157c91cda0",
"type": "database",
"name": "ecommerce_db",
"fullyQualifiedName": "sample_data.ecommerce_db",
"description": "This **mock** database contains schemas related to shopify sales and orders with related dimension tables.",
"displayName": "ecommerce_db",
"deleted": false,
"href": "http://localhost:8585/api/v1/databases/0be090de-0941-48c4-af49-a6157c91cda0"
},
"serviceType": "BigQuery",
"deleted": false,
"owners": [],
"tags": [],
"domains": [],
"processedLineage": false,
"entityStatus": "Unprocessed"
}
Retrieve a Stored Procedure
Get a stored procedure by ID or fully qualified name
GET
/
v1
/
storedProcedures
/
{id}
GET /v1/storedProcedures/{id}
from metadata.sdk import configure
from metadata.sdk.entities import StoredProcedures
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Get by ID
sp = StoredProcedures.retrieve("770e8400-e29b-41d4-a716-446655440000")
print(f"{sp.fullyQualifiedName}: {sp.description}")
# Get by ID with fields
sp = StoredProcedures.retrieve(
"770e8400-e29b-41d4-a716-446655440000",
fields=["owners", "tags", "storedProcedureCode"]
)
# Get by fully qualified name
sp = StoredProcedures.retrieve_by_name("snowflake_prod.analytics.public.usp_refresh_analytics")
# Get by name with fields
sp = StoredProcedures.retrieve_by_name(
"snowflake_prod.analytics.public.usp_refresh_analytics",
fields=["owners", "tags", "domain"]
)
import static org.openmetadata.sdk.fluent.StoredProcedures.*;
// Get by ID
var sp = StoredProcedures.retrieve("770e8400-e29b-41d4-a716-446655440000");
// Get by ID with fields
var sp = StoredProcedures.retrieve(
"770e8400-e29b-41d4-a716-446655440000",
"owners,tags,storedProcedureCode"
);
// Get by fully qualified name
var sp = StoredProcedures.retrieveByName(
"snowflake_prod.analytics.public.usp_refresh_analytics"
);
// Get by name with fields
var sp = StoredProcedures.retrieveByName(
"snowflake_prod.analytics.public.usp_refresh_analytics",
"owners,tags,domain"
);
# Get by ID
curl "{base_url}/api/v1/storedProcedures/d02b24fa-a246-4563-adf1-9ad21f251c0e" \
-H "Authorization: Bearer {access_token}"
# Get by ID with fields
curl "{base_url}/api/v1/storedProcedures/d02b24fa-a246-4563-adf1-9ad21f251c0e?fields=owners,tags,domains" \
-H "Authorization: Bearer {access_token}"
# Get by fully qualified name
curl "{base_url}/api/v1/storedProcedures/name/sample_data.ecommerce_db.shopify.calculate_average" \
-H "Authorization: Bearer {access_token}"
# Get by name with fields
curl "{base_url}/api/v1/storedProcedures/name/sample_data.ecommerce_db.shopify.calculate_average?fields=owners,tags,domains" \
-H "Authorization: Bearer {access_token}"
{
"id": "d02b24fa-a246-4563-adf1-9ad21f251c0e",
"name": "calculate_average",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.calculate_average",
"description": "Procedure to calculate average",
"storedProcedureCode": {
"code": "CREATE OR REPLACE PROCEDURE calculate_average(numbers INT ARRAY) RETURNS FLOAT NOT NULL LANGUAGE SQL AS $$DECLARE sum_val INT = 0;count_val INT = 0;average_val FLOAT;BEGIN\n FOR num IN ARRAY numbers DO sum_val := sum_val + num;\n count_val := count_val + 1;\nEND FOR;\nIF count_val = 0 THEN\n average_val := 0.0;\nELSE\n average_val := sum_val / count_val;\nEND IF;\nRETURN average_val;\nEND;$$;"
},
"version": 0.1,
"updatedAt": 1769982660822,
"updatedBy": "admin",
"storedProcedureType": "StoredProcedure",
"href": "http://localhost:8585/api/v1/storedProcedures/d02b24fa-a246-4563-adf1-9ad21f251c0e",
"databaseSchema": {
"id": "4dd30184-009c-4792-b296-9562eaed651f",
"type": "databaseSchema",
"name": "shopify",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify",
"description": "This **mock** database contains schema related to shopify sales and orders with related dimension tables.",
"displayName": "shopify",
"deleted": false,
"href": "http://localhost:8585/api/v1/databaseSchemas/4dd30184-009c-4792-b296-9562eaed651f"
},
"database": {
"id": "0be090de-0941-48c4-af49-a6157c91cda0",
"type": "database",
"name": "ecommerce_db",
"fullyQualifiedName": "sample_data.ecommerce_db",
"description": "This **mock** database contains schemas related to shopify sales and orders with related dimension tables.",
"displayName": "ecommerce_db",
"deleted": false,
"href": "http://localhost:8585/api/v1/databases/0be090de-0941-48c4-af49-a6157c91cda0"
},
"serviceType": "BigQuery",
"deleted": false,
"owners": [],
"tags": [],
"domains": [],
"processedLineage": false,
"entityStatus": "Unprocessed"
}
Retrieve a Stored Procedure
Get a single stored procedure by its unique ID or fully qualified name.Get by ID
UUID of the stored procedure to retrieve.
Comma-separated list of fields to include (e.g.,
owners,tags,followers,votes,extension,domains,sourceHash).Include
all, deleted, or non-deleted entities.Get by Fully Qualified Name
UseGET /v1/storedProcedures/name/{fqn} to retrieve by fully qualified name.
Fully qualified name of the stored procedure (e.g.,
snowflake_prod.analytics.public.usp_refresh_analytics).Comma-separated list of fields to include:
owners, tags, followers, votes, extension, domains, sourceHash.Include
all, deleted, or non-deleted entities.GET /v1/storedProcedures/{id}
from metadata.sdk import configure
from metadata.sdk.entities import StoredProcedures
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Get by ID
sp = StoredProcedures.retrieve("770e8400-e29b-41d4-a716-446655440000")
print(f"{sp.fullyQualifiedName}: {sp.description}")
# Get by ID with fields
sp = StoredProcedures.retrieve(
"770e8400-e29b-41d4-a716-446655440000",
fields=["owners", "tags", "storedProcedureCode"]
)
# Get by fully qualified name
sp = StoredProcedures.retrieve_by_name("snowflake_prod.analytics.public.usp_refresh_analytics")
# Get by name with fields
sp = StoredProcedures.retrieve_by_name(
"snowflake_prod.analytics.public.usp_refresh_analytics",
fields=["owners", "tags", "domain"]
)
import static org.openmetadata.sdk.fluent.StoredProcedures.*;
// Get by ID
var sp = StoredProcedures.retrieve("770e8400-e29b-41d4-a716-446655440000");
// Get by ID with fields
var sp = StoredProcedures.retrieve(
"770e8400-e29b-41d4-a716-446655440000",
"owners,tags,storedProcedureCode"
);
// Get by fully qualified name
var sp = StoredProcedures.retrieveByName(
"snowflake_prod.analytics.public.usp_refresh_analytics"
);
// Get by name with fields
var sp = StoredProcedures.retrieveByName(
"snowflake_prod.analytics.public.usp_refresh_analytics",
"owners,tags,domain"
);
# Get by ID
curl "{base_url}/api/v1/storedProcedures/d02b24fa-a246-4563-adf1-9ad21f251c0e" \
-H "Authorization: Bearer {access_token}"
# Get by ID with fields
curl "{base_url}/api/v1/storedProcedures/d02b24fa-a246-4563-adf1-9ad21f251c0e?fields=owners,tags,domains" \
-H "Authorization: Bearer {access_token}"
# Get by fully qualified name
curl "{base_url}/api/v1/storedProcedures/name/sample_data.ecommerce_db.shopify.calculate_average" \
-H "Authorization: Bearer {access_token}"
# Get by name with fields
curl "{base_url}/api/v1/storedProcedures/name/sample_data.ecommerce_db.shopify.calculate_average?fields=owners,tags,domains" \
-H "Authorization: Bearer {access_token}"
{
"id": "d02b24fa-a246-4563-adf1-9ad21f251c0e",
"name": "calculate_average",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.calculate_average",
"description": "Procedure to calculate average",
"storedProcedureCode": {
"code": "CREATE OR REPLACE PROCEDURE calculate_average(numbers INT ARRAY) RETURNS FLOAT NOT NULL LANGUAGE SQL AS $$DECLARE sum_val INT = 0;count_val INT = 0;average_val FLOAT;BEGIN\n FOR num IN ARRAY numbers DO sum_val := sum_val + num;\n count_val := count_val + 1;\nEND FOR;\nIF count_val = 0 THEN\n average_val := 0.0;\nELSE\n average_val := sum_val / count_val;\nEND IF;\nRETURN average_val;\nEND;$$;"
},
"version": 0.1,
"updatedAt": 1769982660822,
"updatedBy": "admin",
"storedProcedureType": "StoredProcedure",
"href": "http://localhost:8585/api/v1/storedProcedures/d02b24fa-a246-4563-adf1-9ad21f251c0e",
"databaseSchema": {
"id": "4dd30184-009c-4792-b296-9562eaed651f",
"type": "databaseSchema",
"name": "shopify",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify",
"description": "This **mock** database contains schema related to shopify sales and orders with related dimension tables.",
"displayName": "shopify",
"deleted": false,
"href": "http://localhost:8585/api/v1/databaseSchemas/4dd30184-009c-4792-b296-9562eaed651f"
},
"database": {
"id": "0be090de-0941-48c4-af49-a6157c91cda0",
"type": "database",
"name": "ecommerce_db",
"fullyQualifiedName": "sample_data.ecommerce_db",
"description": "This **mock** database contains schemas related to shopify sales and orders with related dimension tables.",
"displayName": "ecommerce_db",
"deleted": false,
"href": "http://localhost:8585/api/v1/databases/0be090de-0941-48c4-af49-a6157c91cda0"
},
"serviceType": "BigQuery",
"deleted": false,
"owners": [],
"tags": [],
"domains": [],
"processedLineage": false,
"entityStatus": "Unprocessed"
}
Returns
Returns a stored procedure object with all requested fields populated.Response
Unique identifier for the stored procedure (UUID format).
Stored procedure name.
Fully qualified name in format
service.database.schema.storedProcedure.Human-readable display name.
Description of the stored procedure in Markdown format.
Type of database service (e.g., Snowflake, BigQuery, PostgreSQL).
Version number for the entity.
List of owners. Only included when
fields contains owners.Classification tags. Only included when
fields contains tags.Domain assignments. Only included when
fields contains domains.Error Handling
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to view this stored procedure |
404 | NOT_FOUND | Stored procedure with given ID or FQN does not exist |
Was this page helpful?
⌘I