Create links

Mints a new share link for the caller's own affiliate and answers it with its full URL, 201.

POST /v1/affiliate/me/links

Addresshttps://api.hanzo.ai/v1/affiliate/me/links
MethodPOST
Operationpost_affiliate_me_links
AuthAuthorization: Bearer $HANZO_API_KEY

Mints a new share link for the caller's own affiliate and answers it with its full URL, 201.

APPROVAL IS REQUIRED: an org that has applied but is not approved is refused, because a link that cannot accrue is a link that quietly loses the referral. A requested vanity code must be valid and free across the WHOLE directory — codes are one global namespace, so a taken code is a 409 rather than a silent alias. Omit the code and a random one is minted.

Bounded per affiliate. The label is cosmetic: it is trimmed, stripped of control characters and capped, and it is never part of a code.

Request

2 fields, body application/json (required).

FieldInTypeRequiredDescription
codebodystring—Code is an optional vanity code; it must be free across the whole directory, and omitting it mints a random one.
labelbodystring—Label is cosmetic — trimmed, stripped of control characters, capped — and never part of a code.

Response

StatusBodyMeaning
201affiliate.linkMintcreated
defaultproblem-detailsrefused

201 body — 8 fields.

FieldInTypeAlwaysDescription
linkbodyaffiliate.codeView—
link.clicksbodyinteger (int64)—Clicks is how many pings this code has taken.
link.codebodystring—Code is the link's slug — 3–32 chars of a–z, 0–9 and hyphen — unique across the WHOLE directory, so any affiliate's code resolves an attribution.
link.conversionsbodyinteger (int64)—Conversions is how many of those signups have actually produced positive commission for the caller.
link.createdAtbodyinteger (int64)—CreatedAt is when the link was minted, Unix seconds UTC.
link.labelbodystring—Label is the caller's own note for the link ("twitter", "newsletter").
link.signupsbodyinteger (int64)—Signups is how many orgs were attributed with this code — DERIVED by counting attribution edges, never stored, so it cannot drift from the ledger.
link.urlbodystring—URL is the full shareable link, the brand host plus ?aff=<code>.

Failure carries the platform error shape — see Errors.

Examples

hanzo affiliate me links create
import { Configuration, AffiliateApi } from 'hanzoai';

const api = new AffiliateApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postAffiliateMeLinks({ code: "<code>", label: "<label>" });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import AffiliateApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = AffiliateApi(client).post_affiliate_me_links(code="<code>", label="<label>")
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.AffiliateAPI.PostAffiliateMeLinks(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, affiliate_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = affiliate_api::post_affiliate_me_links(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.AffiliateApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new AffiliateApi(client).postAffiliateMeLinks();
curl -X POST https://api.hanzo.ai/v1/affiliate/me/links \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "code": "<code>",
       "label": "<label>"
     }'

MCP reaches affiliate through the affiliate tool, which names its 10 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "list_affiliates"
         }
       }
     }'

Affiliate API · All Hanzo APIs · Interactive reference

Was this page useful?