{
"delivery": {
"id": "<string>",
"eventId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"eventType": "kyb.evaluation.queued",
"subjectId": "<string>",
"status": "PENDING",
"signingKeyVersion": 123,
"attemptCount": 1,
"nextAttemptAt": "2023-11-07T05:31:56Z",
"lastHttpStatus": 123,
"lastErrorCode": "<string>",
"lastFailure": "<string>",
"deliveredAt": "2023-11-07T05:31:56Z",
"deadLetteredAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"attempts": [
{
"id": "<string>",
"attemptNumber": 123,
"outcome": "DELIVERED",
"signingKeyVersion": 123,
"httpStatus": 123,
"errorCode": "<string>",
"failure": "<string>",
"durationMs": 1,
"createdAt": "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
Retry a failed webhook delivery
Requeues a dead-lettered delivery without changing its event, body, timestamp, key version, or signature.
POST
/
api
/
ingestion
/
webhook-endpoints
/
{endpointId}
/
deliveries
/
{deliveryId}
/
retry
{
"delivery": {
"id": "<string>",
"eventId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"eventType": "kyb.evaluation.queued",
"subjectId": "<string>",
"status": "PENDING",
"signingKeyVersion": 123,
"attemptCount": 1,
"nextAttemptAt": "2023-11-07T05:31:56Z",
"lastHttpStatus": 123,
"lastErrorCode": "<string>",
"lastFailure": "<string>",
"deliveredAt": "2023-11-07T05:31:56Z",
"deadLetteredAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"attempts": [
{
"id": "<string>",
"attemptNumber": 123,
"outcome": "DELIVERED",
"signingKeyVersion": 123,
"httpStatus": 123,
"errorCode": "<string>",
"failure": "<string>",
"durationMs": 1,
"createdAt": "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.
Path Parameters
Minimum string length:
1Minimum string length:
1Response
The requeued delivery
Hide child attributes
Hide child attributes
Minimum string length:
1Available options:
kyb.evaluation.queued, kyb.evaluation.completed, kyb.evaluation.failed Minimum string length:
1Available options:
PENDING, DELIVERED, DEAD_LETTER Required range:
x >= 0Hide child attributes
Hide child attributes
Minimum string length:
1Available options:
DELIVERED, RETRY_SCHEDULED, DEAD_LETTERED Required range:
x >= 0