APIPartnersCreate a sign-up link
Create a sign-up link
Signed 30-day console sign-up link for a node operator.
- Auth Partner key
- Rate-limited Yes
- Guide Partner access
POST
Mint a signed console sign-up link for one of your node operators. It is valid 30 days; a node created through it is attributed to you. returnUrl must be on one of your allowed embedding origins.
partnerKeyheader
AuthorizationBearer <token>Partner key delivered by a one-time link. Works on /v1/partner/* only.
application/json- body
nodeId*stringThe node id the operator will sign up with.
Match
^[A-Za-z0-9._:-]{1,128}$returnUrl?stringWhere the console sends the operator afterwards. Must be on an allowed origin.
Length
length <= 2048Created.
application/json- response
url*stringexpiresAt*DateTimeFormat
date-timeasOf*stringMatch
^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}Z$Format
date-timeschemaVersion*stringWire schema version, "1.1" today.
Value in
"1.0""1.1"chainTip*|nullcurl -X POST 'https://cosign.exchain.network/v1/partner/signup-links' \ -H 'Content-Type: application/json' \ -d '{ "nodeId": "acme-node-3", "returnUrl": "https://admin.acme.example/onboarding"}'Example Response
{ "url": "https://cosign.exchain.network/console/signup?node=acme-node-3&partner=acme-platform&exp=1794932527&sig=gTVIHbS0wNyvjX6ss4kF7C7lr1Poz5AcyKCLKro-nQc&return=https%3A%2F%2Fadmin.acme.example%2Fonboarding", "expiresAt": "2026-12-05T14:22:07Z", "asOf": "2026-11-05T14:22:07.318Z", "schemaVersion": "1.1", "chainTip": null}Errors
| Status | Code | Meaning |
|---|---|---|
400 | bad_request | nodeId is malformed, or returnUrl is not on an allowed origin. |
401 | unauthorized | A partner key is required: the bearer is missing, unknown, reset or revoked. |
413 | payload_too_large | The request body is larger than 64 KiB. |
429 | rate_limited | Over the limit; retry after Retry-After seconds (also in retryAfterSec). |
Every code and what to do about it: Errors and codes.