Developers

API reference

Product authenticity verification. Consumer verification is public; the manufacturer API uses scoped API keys (X-Api-Key). All errors share one envelope; 429 and 503 include Retry-After.

CredCheck API 1.0.0 · 52 endpoints · generated from the OpenAPI description

Production (cc_live_ keys)

https://api.credcheck.app

Sandbox (cc_test_ keys)

https://api.sandbox.credcheck.app

Verification

POST/v1/verify

Checks a code (or a full QR URL). Always answers 200 with an outcome for well-formed requests — an unknown code is suspected_counterfeit, never an error. Safe to retry. unable_to_verify and service errors never imply product risk. Public callers can report channel as web, mobile_app or api; any other value is recorded as web (SMS, USSD and WhatsApp are reserved for CredCheck gateways).

Request body (application/json, required)

NameTypeRequiredRules
codestringRequired
  • 3–200 characters
channelstringOptional
  • One of: "mobile_app", "web", "ussd", "sms", "whatsapp", "api", "retail_sdk"
  • Default "web"
signaturestringOptional
  • Up to 64 characters
deviceIdstringOptional
  • Up to 200 characters
locationobjectOptional
  • No other fields allowed
location.countrystringOptional
  • 2–2 characters
location.consentbooleanOptional—
captchaTokenstringOptional—
sellerCodestringOptional
  • Up to 40 characters

Responses

  • 200 Verification result · application/json · VerifyResult

    NameTypeRequiredRules
    outcomestringRequired
    • One of: "verified", "unable_to_verify", "suspected_counterfeit", "recalled", "expired"
    checkedAtstring (date-time)Required—
    referenceIdstringRequired—
    productobject | nullOptional—
    product.namestringOptional—
    product.brandstringOptional—
    product.imageUrlstring | nullOptional—
    product.batchNumberstringOptional—
    product.expiryDatestring | nullOptional—
    product.manufacturerVerifiedbooleanOptional—
    trustobjectRequired—
    trust.scanCountintegerOptional—
    trust.firstScanbooleanOptional—
    trust.warningsarray of objectOptional—
    trust.warnings[].codestringOptional—
    trust.warnings[].messagestringOptional—
    actionsarray of objectRequired—
    actions[].typestringOptional—
Error responses (400, 422, 429, 503)
  • 400 Malformed request
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/verify" \
  -H "Content-Type: application/json" \
  -d '{
  "code": "example code"
}'

GET/v1/verify/{ref}

A record of an earlier check (24 hours). It does not check the product in hand.

Parameters

NameTypeRequiredRules
refstring · pathRequired—

Responses

  • 200 The stored result, with receipt view metadata · application/json · VerifyResult

    NameTypeRequiredRules
    outcomestringRequired
    • One of: "verified", "unable_to_verify", "suspected_counterfeit", "recalled", "expired"
    checkedAtstring (date-time)Required—
    referenceIdstringRequired—
    productobject | nullOptional—
    product.namestringOptional—
    product.brandstringOptional—
    product.imageUrlstring | nullOptional—
    product.batchNumberstringOptional—
    product.expiryDatestring | nullOptional—
    product.manufacturerVerifiedbooleanOptional—
    trustobjectRequired—
    trust.scanCountintegerOptional—
    trust.firstScanbooleanOptional—
    trust.warningsarray of objectOptional—
    trust.warnings[].codestringOptional—
    trust.warnings[].messagestringOptional—
    actionsarray of objectRequired—
    actions[].typestringOptional—
Error responses (400, 422, 429, 503)
  • 400 Malformed request
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/verify/REF"

POST/v1/reports

Request body (application/json, required)

NameTypeRequiredRules
referenceIdstringOptional
  • Up to 64 characters
typestringRequired
  • One of: "fake", "damaged", "wrong_packaging", "suspicious_seller", "other"
descriptionstringOptional
  • Up to 2000 characters
deviceIdstringOptional
  • Up to 128 characters
locationobjectOptional
  • No other fields allowed
location.latnumberRequired
  • Minimum -90
  • Maximum 90
location.lonnumberRequired
  • Minimum -180
  • Maximum 180

Responses

  • 202 Report accepted; returns a public reference · application/json

Error responses (400, 422, 429, 503)
  • 400 Malformed request
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/reports" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "fake"
}'

Products

List products(link to this endpoint)

Required scope: products:read

GET/v1/products

Parameters

NameTypeRequiredRules
searchstring · queryOptional
  • Up to 120 characters
categorystring · queryOptional
  • Up to 60 characters
statusstring · queryOptional
  • One of: "draft", "active", "discontinued", "recalled"
cursorstring · queryOptional—
limitinteger · queryOptional
  • Minimum 1
  • Maximum 100
  • Default 24

Responses

  • 200 Cursor-paginated products · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/products" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Create a product(link to this endpoint)

Required scope: products:write

POST/v1/products

Request body (application/json, required)

NameTypeRequiredRules
namestringRequired
  • 2–160 characters
skustringRequired
  • 1–80 characters
gtinstringOptional
  • Up to 14 characters
  • Pattern ^\d*$
categorystringRequired
  • 2–60 characters
descriptionstringOptional
  • Up to 4000 characters
specsobjectOptional—
packagingobjectOptional—
orgUnitIdstring (uuid)Optional—

Responses

  • 201 The created product · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/products" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "example name",
  "sku": "example sku",
  "category": "example category"
}'

GET/v1/products/export.csv

Responses

  • 200 Streamed CSV · text/csv

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/products/export.csv" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Get a product(link to this endpoint)

Required scope: products:read

GET/v1/products/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 200 The product with media · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/products/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Update a product(link to this endpoint)

Required scope: products:write

PATCH/v1/products/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Request body (application/json, required)

NameTypeRequiredRules
namestringOptional
  • 2–160 characters
skustringOptional
  • 1–80 characters
gtinstringOptional
  • Up to 14 characters
  • Pattern ^\d*$
categorystringOptional
  • 2–60 characters
descriptionstringOptional
  • Up to 4000 characters
specsobjectOptional—
packagingobjectOptional—
orgUnitIdstring (uuid)Optional—
statusstringOptional
  • One of: "draft", "active", "discontinued"
verificationEnabledbooleanOptional—

Responses

  • 200 The updated product · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X PATCH "https://api.credchek.com/v1/products/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "example name",
  "sku": "example sku"
}'

DELETE/v1/products/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 200 Deleted · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X DELETE "https://api.credchek.com/v1/products/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

GET/v1/products/{id}/batches

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 200 Batches · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/products/ID/batches" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Create a batch(link to this endpoint)

Required scope: products:write

POST/v1/products/{id}/batches

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Request body (application/json, required)

NameTypeRequiredRules
batchNumberstringRequired
  • 1–80 characters
manufacturedDatestring (date)Optional—
expiryDatestring (date)Optional—
productionSitestringOptional
  • Up to 120 characters
quantityintegerOptional
  • Greater than 0
  • Maximum 1,000,000,000

Responses

  • 201 The created batch · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/products/ID/batches" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "batchNumber": "example batchNumber"
}'

GET/v1/batches/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 200 Batch with codes generated, verified and suspicious counts · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/batches/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Recalls

Recall a batch(link to this endpoint)

Required scope: recalls:write

POST/v1/batches/{id}/recall

Irreversible. Requires the batch number as confirmation. Consumers verifying affected codes are told to stop using the product.

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Request body (application/json, required)

NameTypeRequiredRules
reasonstringRequired
  • 5–1000 characters
classificationstringRequired
  • One of: "class_i", "class_ii", "class_iii"
consumerMessagestringOptional
  • Up to 1000 characters
replacementInfostringOptional
  • Up to 1000 characters
confirmBatchNumberstringRequired
  • At least 1 characters

Responses

  • 200 Recall initiated · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/batches/ID/recall" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "example reason",
  "classification": "class_i",
  "confirmBatchNumber": "example confirmBatchNumber"
}'

Codes

POST/v1/codes/generate

Starts an asynchronous job. Send an idempotencyKey so retries never duplicate a job.

Request body (application/json, required)

NameTypeRequiredRules
batchIdstring (uuid)Required—
quantityintegerRequired
  • Minimum 1
  • Maximum 5,000,000
codeTypestringOptional
  • One of: "qr", "serial", "scratch", "nfc", "datamatrix", "barcode"
  • Default "qr"
formatConfigobjectOptional—
regionLockarray of stringOptional
  • Up to 50 items
  • Items match ^[A-Z]{2}$
idempotencyKeystringOptional
  • 8–120 characters

Responses

  • 202 Job accepted · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/codes/generate" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "batchId": "batch-uuid",
  "quantity": 1,
  "idempotencyKey": "order-1234-run-1"
}'

GET/v1/codes/jobs

Parameters

NameTypeRequiredRules
batchIdstring (uuid) · queryOptional—

Responses

  • 200 Jobs · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/codes/jobs" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

GET/v1/codes/jobs/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 200 Job progress and deliverable status · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/codes/jobs/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

GET/v1/codes/jobs/{id}/download

Plaintext serials. Single use and audited; requires the codes:export scope.

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 200 CSV of serials and QR URLs · text/csv

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/codes/jobs/ID/download" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

POST/v1/codes/import

Request body (application/json, required)

NameTypeRequiredRules
batchIdstring (uuid)Required—
serialsarray of stringRequired
  • At least 1 items
  • Up to 100000 items

Responses

  • 200 Import summary · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/codes/import" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "batchId": "batch-uuid",
  "serials": [
    "example serials"
  ]
}'

GET/v1/codes/lookup

Parameters

NameTypeRequiredRules
serialstring · queryRequired
  • 1–120 characters

Responses

  • 200 Code metadata (never the plaintext) · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/codes/lookup?serial=example%20serial" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

GET/v1/codes/stats

Exact totals for the company, a product (productId) or a batch (batchId), from maintained counters.

Parameters

NameTypeRequiredRules
productIdstring (uuid) · queryOptional—
batchIdstring (uuid) · queryOptional—

Responses

  • 200 Totals, scanned count, generation volume and top products · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/codes/stats" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

POST/v1/codes/bulk-status

Request body (application/json, required)

NameTypeRequiredRules
batchIdstring (uuid)Required—
fromstringOptional
  • One of: "active", "suspended", "expired", "recalled", "void"
tostringRequired
  • One of: "active", "suspended", "expired", "recalled", "void"
reasonstringOptional
  • Up to 500 characters
dryRunbooleanOptional
  • Default true

Responses

  • 200 Affected count · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/codes/bulk-status" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "batchId": "batch-uuid",
  "to": "active"
}'

List codes(link to this endpoint)

Required scope: codes:read

GET/v1/codes

Parameters

NameTypeRequiredRules
batchIdstring (uuid) · queryOptional—
productIdstring (uuid) · queryOptional—
statusstring · queryOptional
  • One of: "active", "suspended", "expired", "recalled", "void"
codeTypestring · queryOptional
  • One of: "qr", "serial", "scratch", "nfc", "datamatrix", "barcode"
searchstring · queryOptional
  • Up to 80 characters
cursorstring · queryOptional—
limitinteger · queryOptional
  • Minimum 1
  • Maximum 100
  • Default 50

Responses

  • 200 Cursor-paginated code metadata · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/codes" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Get a code(link to this endpoint)

Required scope: codes:read

GET/v1/codes/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 200 Code metadata · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/codes/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

POST/v1/codes/{id}/status

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Request body (application/json, required)

NameTypeRequiredRules
statusstringRequired
  • One of: "active", "suspended", "expired", "recalled", "void"
reasonstringOptional
  • Up to 500 characters

Responses

  • 200 Updated · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/codes/ID/status" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "active"
}'

Analytics

Verification overview(link to this endpoint)

Required scope: analytics:read

GET/v1/analytics/overview

Parameters

NameTypeRequiredRules
rangestring · queryOptional
  • One of: "7d", "30d", "90d", "12mo"
  • Default "30d"
fromstring · queryOptional
  • Pattern ^\d{4}-\d{2}-\d{2}$
tostring · queryOptional
  • Pattern ^\d{4}-\d{2}-\d{2}$

Responses

  • 200 KPIs for the range · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/analytics/overview" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

GET/v1/analytics/timeseries

Parameters

NameTypeRequiredRules
rangestring · queryOptional
  • One of: "7d", "30d", "90d", "12mo"
  • Default "30d"
bucketstring · queryOptional
  • One of: "day", "week", "month"
  • Default "day"
splitstring · queryOptional
  • One of: "outcome", "channel", "first_repeat", "none"
  • Default "none"

Responses

  • 200 Series · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/analytics/timeseries" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

GET/v1/analytics/channel-mix

Parameters

NameTypeRequiredRules
rangestring · queryOptional
  • One of: "7d", "30d", "90d", "12mo"
  • Default "30d"
fromstring · queryOptional
  • Pattern ^\d{4}-\d{2}-\d{2}$
tostring · queryOptional
  • Pattern ^\d{4}-\d{2}-\d{2}$

Responses

  • 200 Channel breakdown · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/analytics/channel-mix" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Verifications by place(link to this endpoint)

Required scope: analytics:read

GET/v1/analytics/geo

Parameters

NameTypeRequiredRules
rangestring · queryOptional
  • One of: "7d", "30d", "90d", "12mo"
  • Default "30d"
levelstring · queryOptional
  • One of: "country"
  • Default "country"

Responses

  • 200 Geographic breakdown · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/analytics/geo" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Authenticity score(link to this endpoint)

Required scope: analytics:read

GET/v1/analytics/authenticity-score

Parameters

NameTypeRequiredRules
rangestring · queryOptional
  • One of: "7d", "30d", "90d", "12mo"
  • Default "30d"

Responses

  • 200 Score and factors · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/analytics/authenticity-score" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Product analytics(link to this endpoint)

Required scope: analytics:read

GET/v1/analytics/products/{productId}

Parameters

NameTypeRequiredRules
productIdstring · pathRequired—
rangestring · queryOptional
  • One of: "7d", "30d", "90d", "12mo"
  • Default "30d"
fromstring · queryOptional
  • Pattern ^\d{4}-\d{2}-\d{2}$
tostring · queryOptional
  • Pattern ^\d{4}-\d{2}-\d{2}$

Responses

  • 200 Product KPIs · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/analytics/products/PRODUCTID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Batch analytics(link to this endpoint)

Required scope: analytics:read

GET/v1/analytics/batches/{batchId}

Parameters

NameTypeRequiredRules
batchIdstring · pathRequired—
rangestring · queryOptional
  • One of: "7d", "30d", "90d", "12mo"
  • Default "30d"
fromstring · queryOptional
  • Pattern ^\d{4}-\d{2}-\d{2}$
tostring · queryOptional
  • Pattern ^\d{4}-\d{2}-\d{2}$

Responses

  • 200 Batch KPIs · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/analytics/batches/BATCHID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

GET/v1/analytics/events

Parameters

NameTypeRequiredRules
rangestring · queryOptional
  • One of: "7d", "30d", "90d", "12mo"
  • Default "30d"
productIdstring (uuid) · queryOptional—
batchIdstring (uuid) · queryOptional—
outcomestring · queryOptional
  • One of: "verified", "unable_to_verify", "suspected_counterfeit", "recalled", "expired", "service_error"
channelstring · queryOptional
  • One of: "mobile_app", "web", "ussd", "sms", "whatsapp", "api", "retail_sdk"
countrystring · queryOptional
  • 2–2 characters
cursorstring · queryOptional—
limitinteger · queryOptional
  • Minimum 1
  • Maximum 100
  • Default 50

Responses

  • 200 Cursor-paginated events · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/analytics/events" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

GET/v1/analytics/events/export.csv

Streams every event matching the filters as CSV. cursor and limit are ignored: the export is not paginated.

Parameters

NameTypeRequiredRules
rangestring · queryOptional
  • One of: "7d", "30d", "90d", "12mo"
  • Default "30d"
productIdstring (uuid) · queryOptional—
batchIdstring (uuid) · queryOptional—
outcomestring · queryOptional
  • One of: "verified", "unable_to_verify", "suspected_counterfeit", "recalled", "expired", "service_error"
channelstring · queryOptional
  • One of: "mobile_app", "web", "ussd", "sms", "whatsapp", "api", "retail_sdk"
countrystring · queryOptional
  • 2–2 characters
cursorstring · queryOptional—
limitinteger · queryOptional
  • Minimum 1
  • Maximum 100
  • Default 50

Responses

  • 200 Streamed CSV · text/csv

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/analytics/events/export.csv" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

GET/v1/analytics/events/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 200 Event detail · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/analytics/events/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Alerts

List fraud alerts(link to this endpoint)

Required scope: alerts:read

GET/v1/fraud/alerts

Parameters

NameTypeRequiredRules
statusstring · queryOptional
  • One of: "open", "acknowledged", "investigating", "resolved", "false_positive"
severitystring · queryOptional
  • One of: "low", "medium", "high", "critical"
cursorstring · queryOptional—
limitinteger · queryOptional
  • Minimum 1
  • Maximum 100
  • Default 50

Responses

  • 200 Alerts · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/fraud/alerts" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Get a fraud alert(link to this endpoint)

Required scope: alerts:read

GET/v1/fraud/alerts/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 200 Alert with evidence · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/fraud/alerts/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

PATCH/v1/fraud/alerts/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Request body (application/json, required)

NameTypeRequiredRules
statusstringRequired
  • One of: "acknowledged", "investigating", "resolved", "false_positive"
assignedTostring (uuid) | nullOptional—
resolutionstringOptional
  • Up to 500 characters

Responses

  • 200 Updated alert · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X PATCH "https://api.credchek.com/v1/fraud/alerts/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "acknowledged"
}'

Consumer reports

GET/v1/reports

Parameters

NameTypeRequiredRules
statusstring · queryOptional
  • One of: "submitted", "reviewing", "actioned", "dismissed"
typestring · queryOptional
  • One of: "fake", "damaged", "wrong_packaging", "suspicious_seller", "other"
cursorstring · queryOptional—
limitinteger · queryOptional
  • Minimum 1
  • Maximum 100
  • Default 50

Responses

  • 200 Reports · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/reports" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

GET/v1/reports/counts

Responses

  • 200 Counts · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/reports/counts" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Get a report(link to this endpoint)

Required scope: reports:read

GET/v1/reports/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 200 Report with timeline · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/reports/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

PATCH/v1/reports/{id}/status

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Request body (application/json, required)

NameTypeRequiredRules
statusstringRequired
  • One of: "submitted", "reviewing", "actioned", "dismissed"

Responses

  • 200 Updated · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X PATCH "https://api.credchek.com/v1/reports/ID/status" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "submitted"
}'

POST/v1/reports/{id}/respond

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Request body (application/json, required)

NameTypeRequiredRules
messagestringRequired
  • 1–1000 characters

Responses

  • 200 Reply sent · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/reports/ID/respond" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "message": "example message"
}'

Webhooks

List webhook endpoints(link to this endpoint)

Required scope: webhooks:manage

GET/v1/webhooks

Responses

  • 200 Endpoints (the signing secret is never listed; see secretHint) · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/webhooks" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

POST/v1/webhooks

Public https URLs only. Deliveries are signed: X-CredCheck-Signature: t=<unix>,v1=<hex HMAC-SHA256 of "t.body">.

Request body (application/json, required)

NameTypeRequiredRules
urlstring (uri)Required
  • Up to 500 characters
eventsarray of stringRequired
  • At least 1 items
  • Items one of: "fraud_alert_created", "fraud_alert_escalated", "recall_initiated", "code_job_completed", "report_received", "usage_threshold", "billing_event", "platform_maintenance"
descriptionstringOptional
  • Up to 200 characters

Responses

  • 201 The endpoint, including its signing secret · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/webhooks" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://example.com/webhooks/credcheck",
  "events": [
    "fraud_alert_created"
  ]
}'

PATCH/v1/webhooks/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Request body (application/json, required)

NameTypeRequiredRules
urlstring (uri)Optional
  • Up to 500 characters
eventsarray of stringOptional
  • At least 1 items
  • Items one of: "fraud_alert_created", "fraud_alert_escalated", "recall_initiated", "code_job_completed", "report_received", "usage_threshold", "billing_event", "platform_maintenance"
descriptionstringOptional
  • Up to 200 characters
enabledbooleanOptional—

Responses

  • 200 Updated · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X PATCH "https://api.credchek.com/v1/webhooks/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://example.com/webhooks/credcheck",
  "events": [
    "fraud_alert_created"
  ]
}'

DELETE/v1/webhooks/{id}

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 204 Deleted (no body)

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X DELETE "https://api.credchek.com/v1/webhooks/ID" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

POST/v1/webhooks/{id}/rotate-secret

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 200 The endpoint with its new signing secret, shown once · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/webhooks/ID/rotate-secret" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Send a test delivery(link to this endpoint)

Required scope: webhooks:manage

POST/v1/webhooks/{id}/test

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 202 Test delivery queued; returns its delivery id · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/webhooks/ID/test" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

List deliveries(link to this endpoint)

Required scope: webhooks:manage

GET/v1/webhooks/deliveries

Parameters

NameTypeRequiredRules
endpointIdstring (uuid) · queryOptional—

Responses

  • 200 Recent deliveries with status · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/webhooks/deliveries" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Replay a delivery(link to this endpoint)

Required scope: webhooks:manage

POST/v1/webhooks/deliveries/{id}/replay

Parameters

NameTypeRequiredRules
idstring · pathRequired—

Responses

  • 202 Delivery re-queued · application/json

Error responses (400, 401, 403, 404, 422, 429, 503)
  • 400 Malformed request
  • 401 Missing, invalid, expired or revoked API key
  • 403 Key lacks the scope, or the route is not available to API keys
  • 404 Not found (or not in your company)
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X POST "https://api.credchek.com/v1/webhooks/deliveries/ID/replay" \
  -H "X-Api-Key: $CREDCHECK_API_KEY"

Platform

GET/v1/public/status

Responses

  • 200 Component states, 90-day uptime and incidents · application/json

Error responses (400, 422, 429, 503)
  • 400 Malformed request
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/public/status"

GET/v1/public/plans

Responses

  • 200 Active plans with current prices · application/json

Error responses (400, 422, 429, 503)
  • 400 Malformed request
  • 422 Validation failed
  • 429 Rate limited (see Retry-After) · header Retry-After
  • 503 Temporarily overloaded — retry once after Retry-After (code overloaded) · header Retry-After

Errors use the standard envelope. See errors and rate limits.

Example request (curl)
curl -X GET "https://api.credchek.com/v1/public/plans"
API reference · CredChek