GET /v1/apiEndpoints
from metadata.sdk import configure
from metadata.sdk.entities import APIEndpoints
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# List first page
endpoints = APIEndpoints.list(limit=50)
for ep in endpoints.data:
print(f"{ep.fullyQualifiedName}")
# List all with auto-pagination
for ep in APIEndpoints.list_all():
print(f"{ep.fullyQualifiedName}")
# Filter by API collection
endpoints = APIEndpoints.list(
apiCollection="sample_api_service.pet",
fields=["owners", "tags", "domain"],
limit=50
)
for ep in endpoints.data:
print(f"{ep.fullyQualifiedName} [{ep.requestMethod}]")
if ep.owners:
print(f" Owners: {[o.name for o in ep.owners]}")
if ep.tags:
print(f" Tags: {[t.tagFQN for t in ep.tags]}")
import static org.openmetadata.sdk.fluent.APIEndpoints.*;
// List first page
var result = APIEndpoints.list()
.limit(50)
.execute();
for (var ep : result.getData()) {
System.out.println(ep.getFullyQualifiedName());
}
// Filter by API collection with fields
var result = APIEndpoints.list()
.apiCollection("sample_api_service.pet")
.fields("owners", "tags", "domain")
.limit(50)
.execute();
for (var ep : result.getData()) {
System.out.println(ep.getFullyQualifiedName());
}
# List all
curl "{base_url}/api/v1/apiEndpoints?limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by API collection
curl "{base_url}/api/v1/apiEndpoints?apiCollection=sample_api_service.pet&limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by service with fields
curl "{base_url}/api/v1/apiEndpoints?service=sample_api_service&fields=owners,tags,domains&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"id": "1f61427a-4a64-4070-9ac8-1d29302dac7c",
"name": "addPet",
"displayName": "Add Pet",
"fullyQualifiedName": "sample_api_service.pet.addPet",
"description": "add a new pet",
"version": 0.1,
"updatedAt": 1769982733987,
"updatedBy": "admin",
"endpointURL": "https://petstore3.swagger.io/#/pet/addPet",
"requestMethod": "POST",
"requestSchema": {
"schemaType": "JSON",
"schemaFields": [
{"name": "id", "dataType": "INT", "description": "ID of pet"}
]
},
"href": "http://localhost:8585/api/v1/apiEndpoints/1f61427a-4a64-4070-9ac8-1d29302dac7c",
"owners": [],
"tags": [],
"service": {
"id": "58d413a8-abc3-4a6d-bd8a-13a0234b1ff8",
"type": "apiService",
"name": "sample_api_service",
"deleted": false
},
"serviceType": "Rest",
"deleted": false,
"domains": []
}
],
"paging": {
"after": "...",
"total": 8
}
}
List API Endpoints
List all API endpoints with optional filtering and pagination
GET
/
v1
/
apiEndpoints
GET /v1/apiEndpoints
from metadata.sdk import configure
from metadata.sdk.entities import APIEndpoints
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# List first page
endpoints = APIEndpoints.list(limit=50)
for ep in endpoints.data:
print(f"{ep.fullyQualifiedName}")
# List all with auto-pagination
for ep in APIEndpoints.list_all():
print(f"{ep.fullyQualifiedName}")
# Filter by API collection
endpoints = APIEndpoints.list(
apiCollection="sample_api_service.pet",
fields=["owners", "tags", "domain"],
limit=50
)
for ep in endpoints.data:
print(f"{ep.fullyQualifiedName} [{ep.requestMethod}]")
if ep.owners:
print(f" Owners: {[o.name for o in ep.owners]}")
if ep.tags:
print(f" Tags: {[t.tagFQN for t in ep.tags]}")
import static org.openmetadata.sdk.fluent.APIEndpoints.*;
// List first page
var result = APIEndpoints.list()
.limit(50)
.execute();
for (var ep : result.getData()) {
System.out.println(ep.getFullyQualifiedName());
}
// Filter by API collection with fields
var result = APIEndpoints.list()
.apiCollection("sample_api_service.pet")
.fields("owners", "tags", "domain")
.limit(50)
.execute();
for (var ep : result.getData()) {
System.out.println(ep.getFullyQualifiedName());
}
# List all
curl "{base_url}/api/v1/apiEndpoints?limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by API collection
curl "{base_url}/api/v1/apiEndpoints?apiCollection=sample_api_service.pet&limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by service with fields
curl "{base_url}/api/v1/apiEndpoints?service=sample_api_service&fields=owners,tags,domains&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"id": "1f61427a-4a64-4070-9ac8-1d29302dac7c",
"name": "addPet",
"displayName": "Add Pet",
"fullyQualifiedName": "sample_api_service.pet.addPet",
"description": "add a new pet",
"version": 0.1,
"updatedAt": 1769982733987,
"updatedBy": "admin",
"endpointURL": "https://petstore3.swagger.io/#/pet/addPet",
"requestMethod": "POST",
"requestSchema": {
"schemaType": "JSON",
"schemaFields": [
{"name": "id", "dataType": "INT", "description": "ID of pet"}
]
},
"href": "http://localhost:8585/api/v1/apiEndpoints/1f61427a-4a64-4070-9ac8-1d29302dac7c",
"owners": [],
"tags": [],
"service": {
"id": "58d413a8-abc3-4a6d-bd8a-13a0234b1ff8",
"type": "apiService",
"name": "sample_api_service",
"deleted": false
},
"serviceType": "Rest",
"deleted": false,
"domains": []
}
],
"paging": {
"after": "...",
"total": 8
}
}
List API Endpoints
List all API endpoints with optional filtering and pagination.Query Parameters
Filter by API collection fully qualified name.
Filter by API service fully qualified name.
Maximum number of results to return (max: 1000000).
Cursor for backward pagination.
Cursor for forward pagination.
Comma-separated list of fields to include:
owners, tags, extension, domains, sourceHash. See Supported Fields below.Include
all, deleted, or non-deleted entities.GET /v1/apiEndpoints
from metadata.sdk import configure
from metadata.sdk.entities import APIEndpoints
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# List first page
endpoints = APIEndpoints.list(limit=50)
for ep in endpoints.data:
print(f"{ep.fullyQualifiedName}")
# List all with auto-pagination
for ep in APIEndpoints.list_all():
print(f"{ep.fullyQualifiedName}")
# Filter by API collection
endpoints = APIEndpoints.list(
apiCollection="sample_api_service.pet",
fields=["owners", "tags", "domain"],
limit=50
)
for ep in endpoints.data:
print(f"{ep.fullyQualifiedName} [{ep.requestMethod}]")
if ep.owners:
print(f" Owners: {[o.name for o in ep.owners]}")
if ep.tags:
print(f" Tags: {[t.tagFQN for t in ep.tags]}")
import static org.openmetadata.sdk.fluent.APIEndpoints.*;
// List first page
var result = APIEndpoints.list()
.limit(50)
.execute();
for (var ep : result.getData()) {
System.out.println(ep.getFullyQualifiedName());
}
// Filter by API collection with fields
var result = APIEndpoints.list()
.apiCollection("sample_api_service.pet")
.fields("owners", "tags", "domain")
.limit(50)
.execute();
for (var ep : result.getData()) {
System.out.println(ep.getFullyQualifiedName());
}
# List all
curl "{base_url}/api/v1/apiEndpoints?limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by API collection
curl "{base_url}/api/v1/apiEndpoints?apiCollection=sample_api_service.pet&limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by service with fields
curl "{base_url}/api/v1/apiEndpoints?service=sample_api_service&fields=owners,tags,domains&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"id": "1f61427a-4a64-4070-9ac8-1d29302dac7c",
"name": "addPet",
"displayName": "Add Pet",
"fullyQualifiedName": "sample_api_service.pet.addPet",
"description": "add a new pet",
"version": 0.1,
"updatedAt": 1769982733987,
"updatedBy": "admin",
"endpointURL": "https://petstore3.swagger.io/#/pet/addPet",
"requestMethod": "POST",
"requestSchema": {
"schemaType": "JSON",
"schemaFields": [
{"name": "id", "dataType": "INT", "description": "ID of pet"}
]
},
"href": "http://localhost:8585/api/v1/apiEndpoints/1f61427a-4a64-4070-9ac8-1d29302dac7c",
"owners": [],
"tags": [],
"service": {
"id": "58d413a8-abc3-4a6d-bd8a-13a0234b1ff8",
"type": "apiService",
"name": "sample_api_service",
"deleted": false
},
"serviceType": "Rest",
"deleted": false,
"domains": []
}
],
"paging": {
"after": "...",
"total": 8
}
}
Returns
Returns a paginated list of API endpoint objects. By default, only basic fields are included. Use thefields parameter to request additional data.
Response
Array of API endpoint objects.
Show properties
Show properties
Unique identifier for the API endpoint (UUID format).
API endpoint name.
Fully qualified name in format
service.collection.endpointName.Human-readable display name.
URL for the API endpoint.
HTTP request method.
Reference to the parent API service.
Type of API service (e.g., Rest).
List of owners assigned to the API endpoint. Only included when
fields contains owners.Classification tags applied. Only included when
fields contains tags.Domain assignments for governance. Only included when
fields contains domains.Custom properties. Only included when
fields contains extension.Supported Fields
The following fields can be requested via thefields query parameter:
| Field | Description |
|---|---|
owners | Owner references (users and teams) |
tags | Classification tags |
extension | Custom property values |
domains | Domain assignments for governance |
sourceHash | Hash for change detection |
Error Handling
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to list API endpoints |
Was this page helpful?
⌘I