{
"items": [
{
"id": "<string>",
"sourceId": "<string>",
"name": "<string>",
"url": "<string>",
"status": "PENDING_VERIFICATION",
"eventTypes": [
"kyb.evaluation.queued"
],
"verifiedAt": "2023-11-07T05:31:56Z",
"verificationFailure": "<string>",
"signingKeys": [
{
"version": 123,
"algorithm": "Ed25519",
"publicKeyPem": "<string>",
"publicKeyFingerprint": "<string>",
"status": "ACTIVE",
"activatedAt": "2023-11-07T05:31:56Z",
"overlapExpiresAt": "2023-11-07T05:31:56Z"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
]
}{
"type": "https://karsa.app/problems/invalid-request",
"title": "Ingestion Rejected",
"status": 400,
"detail": "The request did not match the ingestion schema",
"code": "INVALID_REQUEST",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/authentication-required",
"title": "Ingestion Rejected",
"status": 401,
"detail": "A source-bound bearer credential is required",
"code": "AUTHENTICATION_REQUIRED",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/resource-not-found",
"title": "Ingestion Rejected",
"status": 404,
"detail": "A referenced source resource was not found",
"code": "RESOURCE_NOT_FOUND",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/source-identity-conflict",
"title": "Ingestion Rejected",
"status": 409,
"detail": "The source identity is already bound",
"code": "SOURCE_IDENTITY_CONFLICT",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/future-effective-at",
"title": "Ingestion Rejected",
"status": 422,
"detail": "Future-effective scheduling is not supported",
"code": "FUTURE_EFFECTIVE_AT",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/rate-limited",
"title": "Ingestion Rejected",
"status": 429,
"detail": "The ingestion source exceeded its configured rate",
"code": "RATE_LIMITED",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/ingestion-internal-error",
"title": "Ingestion Unavailable",
"status": 500,
"detail": "The ingestion request could not be completed",
"code": "INGESTION_INTERNAL_ERROR",
"requestId": "req_example_01"
}Webhooks
List webhook endpoints
Lists only destinations owned by the authenticated ingestion source.
GET
/
api
/
ingestion
/
webhook-endpoints
{
"items": [
{
"id": "<string>",
"sourceId": "<string>",
"name": "<string>",
"url": "<string>",
"status": "PENDING_VERIFICATION",
"eventTypes": [
"kyb.evaluation.queued"
],
"verifiedAt": "2023-11-07T05:31:56Z",
"verificationFailure": "<string>",
"signingKeys": [
{
"version": 123,
"algorithm": "Ed25519",
"publicKeyPem": "<string>",
"publicKeyFingerprint": "<string>",
"status": "ACTIVE",
"activatedAt": "2023-11-07T05:31:56Z",
"overlapExpiresAt": "2023-11-07T05:31:56Z"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
]
}{
"type": "https://karsa.app/problems/invalid-request",
"title": "Ingestion Rejected",
"status": 400,
"detail": "The request did not match the ingestion schema",
"code": "INVALID_REQUEST",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/authentication-required",
"title": "Ingestion Rejected",
"status": 401,
"detail": "A source-bound bearer credential is required",
"code": "AUTHENTICATION_REQUIRED",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/resource-not-found",
"title": "Ingestion Rejected",
"status": 404,
"detail": "A referenced source resource was not found",
"code": "RESOURCE_NOT_FOUND",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/source-identity-conflict",
"title": "Ingestion Rejected",
"status": 409,
"detail": "The source identity is already bound",
"code": "SOURCE_IDENTITY_CONFLICT",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/future-effective-at",
"title": "Ingestion Rejected",
"status": 422,
"detail": "Future-effective scheduling is not supported",
"code": "FUTURE_EFFECTIVE_AT",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/rate-limited",
"title": "Ingestion Rejected",
"status": 429,
"detail": "The ingestion source exceeded its configured rate",
"code": "RATE_LIMITED",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/ingestion-internal-error",
"title": "Ingestion Unavailable",
"status": 500,
"detail": "The ingestion request could not be completed",
"code": "INGESTION_INTERNAL_ERROR",
"requestId": "req_example_01"
}Authorizations
Source-bound WorkOS API key or configured machine OIDC token. OIDC webhook management requires karsa:webhooks:manage.
Response
Source-owned webhook endpoints
Hide child attributes
Hide child attributes
Minimum string length:
1Minimum string length:
1Minimum string length:
1Available options:
PENDING_VERIFICATION, ACTIVE, DISABLED, DELETED Available options:
kyb.evaluation.queued, kyb.evaluation.completed, kyb.evaluation.failed Hide child attributes
Hide child attributes
Available options:
Ed25519 Required string length:
64 - 20000Pattern:
^sha256:[A-Za-z0-9_-]{43}$Available options:
ACTIVE, OVERLAP, RETIRED