Bulk create links
Bulk create allows you to create up to 100 links at once.Bulk link creation does not support custom link
previews. Also, webhook
events will not be triggered when using bulk
link creation.
import { Dub } from "dub";
export const dub = new Dub({
token: process.env.DUB_API_KEY,
});
const result = await dub.links.createMany([
{
url: "https://google.com",
},
{
url: "https://google.uk",
},
]);
package main
import(
"context"
dubgo "github.com/dubinc/dub-go"
"github.com/dubinc/dub-go/models/operations"
"log"
"os"
)
func main() {
ctx := context.Background()
s := dubgo.New(
dubgo.WithSecurity(os.Getenv("DUB_API_KEY")),
)
}
res, err := s.Links.CreateMany(ctx, []operations.RequestBody{
operations.RequestBody{
URL: "https://google.com",
},
operations.RequestBody{
URL: "https://google.uk",
},
})
import os
import dub
from dub.models import operations
d = dub.Dub(
token=os.environ['DUB_API_KEY'],
)
res = dub.links.create_many(request=[
{
"url": "https://google.com",
},
{
"url": "https://google.uk",
},
])
require 'dub'
s = ::OpenApiSDK::Dub.new
s.config_security(
::OpenApiSDK::Shared::Security.new(
token: "DUB_API_KEY",
)
)
req = [
::OpenApiSDK::Operations::RequestBody.new(
url: "https://google.com",
),
::OpenApiSDK::Operations::RequestBody.new(
url: "https://example.uk"
),
]
res = s.links.create_many(req)
declare(strict_types=1);
require 'vendor/autoload.php';
use Dub;
use Dub\Models\Operations;
$sdk = Dub\Dub::builder()->setSecurity('DUB_API_KEY')->build();
$request = [
new Operations\RequestBody(
url: 'https://google.com',
),
new Operations\RequestBody(
url: 'https://google.uk',
),
];
$response = $sdk->links->createMany(
request: $request
);
curl --request POST \
--url https://api.dub.co/links/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json'
--data '[
{
"url": "https://google.com"
},
{
"url": "https://google.uk"
}
]'
Bulk update links
Bulk update allows you to modify up to 100 links simultaneously with the same data. Some potential use cases:- Tagging multiple links at once
- Setting the same expiration date for multiple links
- Updating UTM parameters for multiple links
You cannot update the domain or key of a link with this endpoint. Also,
webhook events will not be triggered when using
bulk link updates
import { Dub } from "dub";
export const dub = new Dub({
token: process.env.DUB_API_KEY,
});
const result = await dub.links.updateMany({
linkIds: ["clux0rgak00011...", "clux0rgak00022..."],
data: {
utm_source: "facebook",
utm_medium: "cpc",
},
});
package main
import(
"context"
dubgo "github.com/dubinc/dub-go"
"github.com/dubinc/dub-go/models/operations"
"log"
"os"
)
func main() {
ctx := context.Background()
s := dubgo.New(
dubgo.WithSecurity(os.Getenv("DUB_API_KEY")),
)
res, err := s.Links.UpdateMany(ctx, operations.BulkUpdateLinksRequestBody{
LinkIds: []string{
"clux0rgak00011...",
"clux0rgak00022...",
},
Data: map[string]string{
"utm_source": "facebook",
"utm_medium": "cpc",
},
})
}
import os
import dub
from dub.models import operations
d = dub.Dub(
token=os.environ['DUB_API_KEY'],
)
res = dub.links.update_many(request={
"link_ids": [
"clux0rgak00011...",
"clux0rgak00022...",
],
"data": {
"utm_source": "facebook",
"utm_medium": "cpc",
},
})
require 'dub'
s = ::OpenApiSDK::Dub.new
s.config_security(
::OpenApiSDK::Shared::Security.new(
token: "DUB_API_KEY",
)
)
req = ::OpenApiSDK::Operations::BulkUpdateLinksRequestBody.new(
link_ids: [
"clux0rgak00011...",
"clux0rgak00022...",
],
data: {
"utm_source": "facebook",
"utm_medium": "cpc",
},
)
res = s.links.update_many(req)
declare(strict_types=1);
require 'vendor/autoload.php';
use Dub;
use Dub\Models\Operations;
$sdk = Dub\Dub::builder()->setSecurity('DUB_API_KEY')->build();
$response = $sdk->links->updateMany(
linkIds: [
'clux0rgak00011...',
'clux0rgak00022...',
],
data: {
"utm_source": "facebook",
"utm_medium": "cpc",
},
);
curl --request PATCH \
--url https://api.dub.co/links/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{"link_ids": ["clux0rgak00011...", "clux0rgak00022..."], "data": {"utm_source": "facebook", "utm_medium": "cpc"}}'
Bulk delete links
With bulk delete, you can delete up to 100 links at once.This is a destructive action and cannot be undone. Proceed with caution. Also,
webhook events will not be triggered when using
this endpoint.
import { Dub } from "dub";
export const dub = new Dub({
token: process.env.DUB_API_KEY,
});
const result = await dub.links.deleteMany({
linkIds: ["clux0rgak00011...", "clux0rgak00022..."],
});
package main
import(
"context"
dubgo "github.com/dubinc/dub-go"
"github.com/dubinc/dub-go/models/operations"
"log"
"os"
)
func main() {
ctx := context.Background()
s := dubgo.New(
dubgo.WithSecurity(os.Getenv("DUB_API_KEY")),
)
res, err := s.Links.DeleteMany(ctx, operations.BulkDeleteLinksRequest{
LinkIds: []string{
"clux0rgak00011...",
"clux0rgak00022...",
},
})
}
import os
import dub
from dub.models import operations
d = dub.Dub(
token=os.environ['DUB_API_KEY'],
)
res = dub.links.delete_many(request={
"link_ids": [
"clux0rgak00011...",
"clux0rgak00022...",
],
})
require 'dub'
s = ::OpenApiSDK::Dub.new
s.config_security(
::OpenApiSDK::Shared::Security.new(
token: "DUB_API_KEY",
)
)
req = ::OpenApiSDK::Operations::BulkDeleteLinksRequest.new(
link_ids: [
"clux0rgak00011...",
"clux0rgak00022...",
],
)
res = s.links.delete_many(req)
declare(strict_types=1);
require 'vendor/autoload.php';
use Dub;
use Dub\Models\Operations;
$sdk = Dub\Dub::builder()->setSecurity('DUB_API_KEY')->build();
$response = $sdk->links->deleteMany(
linkIds: [
'clux0rgak00011...',
'clux0rgak00022...',
]
);
curl --request DELETE \
--url https://api.dub.co/links/bulk?linkIds=clux0rgak00011... \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json'