Create links in bulk
Each link is created on its own: a taken slug or an option the plan lacks fails that one, and the others are still created. The whole batch must fit the link allowance left this billing cycle, or none is created (403 limit_reached). Counts as one request against the rate limit.
Each link is created on its own: a taken slug or an option the plan lacks fails that one, and the others are still created. The whole batch must fit the link allowance left this billing cycle, or none is created (403 limit_reached). Counts as one request against the rate limit.
apiKeyAuthorizationBearer <token>Up to 100 links, each as POST /v1/links takes it. Give each a slug (e.g. from your own record id) to make retries safe: one that was already created comes back as a conflict instead of a duplicate
- body
Up to 100 links, each as POST /v1/links takes it. Give each a slug (e.g. from your own record id) to make retries safe: one that was already created comes back as a conflict instead of a duplicate
1 <= items <= 100[index: integer]?Response for status 200
application/json- response
data*array<|>curl -X POST 'https://api.tinbo.co/v1/links/bulk' \ -H 'Content-Type: application/json' \ -d '[ { "url": "http://example.com" }]'{ "data": [ { "index": -9007199254740991, "link": { "id": "string", "domain": "string", "slug": "string", "shortLink": "string", "url": "string", "title": "string", "description": "string", "ogImageUrl": "string", "folderId": "string", "tags": [ { "id": "string", "name": "string", "color": "string" } ], "redirectType": 0, "passQuery": true, "openInApp": true, "openInBrowser": true, "utm": { "property1": "string", "property2": "string" }, "geoRules": [ { "country": "string", "url": "string" } ], "deviceRules": [ { "device": "string", "url": "string" } ], "expiresAt": "string", "expiredUrl": "string", "abTest": { "variants": [ { "url": "string", "weight": 0 } ], "endsAt": "string" }, "hasPassword": true, "qrTemplateId": "string", "qrStyle": { "dots": "square", "eyeFrame": "square", "eyeBall": "square", "color": "string", "eyeColor": "string", "background": "string", "logo": true, "logoSize": 0.15, "margin": 2, "outline": "none", "outlineColor": "string" }, "createdAt": "string", "updatedAt": "string" } } ]}