Docs
Dashboard
API reference / CredentialsBeta

Push a 2FA code or sign-in link

For a password with codeSource "push": the code (or sign-in link) the site sent by email or SMS. Used once, by a wait that began before it arrived (a run typing %NAME.otp%, opening %NAME.link%, a type action, a login action or boxline-otp); kept sealed at most 10 minutes (at most 10 per credential). A link must be on one of the credential's sites (400 credential_link_wrong_site). Audited (action "code", never the value); counts as a credential write (60 per minute per project).

POST/v1/credentials/{name}/codes

Request

Method and pathPOST/v1/credentials/{name}/codes
Base URLhttps://api.boxline.dev
AuthenticationYour API key in the x-api-key header (or Authorization: Bearer). The examples read it from BOXLINE_API_KEY.
Rate limitYes. See Rate limits for the numbers and headers.

Path parameters

NameTypeDefaultAllowed valuesDescription
namerequiredstring––Up to 64 characters. Pattern: ^[A-Z_][A-Z0-9_]*$.

Body

JSON with content-type: application/json. Required.

NameTypeDefaultAllowed valuesDescription
coderequiredstring––No spaces or control characters. 1 to 64 characters.
curl -X POST "https://api.boxline.dev/v1/credentials/$CREDENTIAL_NAME/codes" \  -H "x-api-key: $BOXLINE_API_KEY" \  -H "content-type: application/json" \  -d '{"code": "123456"}'

Responses

202

Kept for the wait.

Fields

NameTypeDefaultAllowed valuesDescription
acceptedboolean–true
kindstring–code, link
expiresAtstring––Format: date-time.
Response 202
{  "accepted": true,  "kind": "code",  "expiresAt": "2026-09-29T10:00:00.000Z"}

Errors

Errors have a matching HTTP status and the same body. code is stable, so check it in your code; message is for people. See Errors and request ids.

StatusCodesWhen
400 Bad Requestinvalid_request, invalid_json, invalid_cursor, invalid_idempotency_key, invalid_extension, variables_with_extensions, terms_not_accepted, invalid_reset_token, invalid_confirmation_code, wrong_password, no_password, invalid_next, invalid_oauth_tokenThe request is not valid.
401 UnauthorizedunauthorizedMissing or invalid API key.
402 Payment Requiredfeature_not_in_plan, spend_limit, out_of_credit, plan_limit, spend_limit, out_of_credit, organization, project, plan, creditThe plan does not include this, a monthly allowance or spending limit is used up, the organization has no credit left, or the plan allows no more of this. spend_limit and out_of_credit carry error.details.limit: organization, project, plan or credit.
404 Not Foundnot_found, invite_not_found, provider_unavailableNo such thing in this project (or organization), or no such route.
429 Too Many Requestsrate_limited, concurrency_limitToo many requests, or the organization's concurrent sessions (its plan's) or the project's concurrencyCap are in use.
Error body
{  "error": {    "code": "not_found",    "message": "session not found",    "requestId": "req_4fJx0aQm2Lk9Pz7N"  }}

Learn more

These docs describe a beta API. Endpoints, fields and SDK methods may change before general availability; breaking changes will be listed in the changelog.