Skip to main content

tagd-ai API (1.0.0)

Download OpenAPI specification:Download

RESTful API for tagd-ai tag management system. Create, manage, and share digital tags with automatic QR code generation.

Features

  • Create and manage tags with rich content
  • Generate QR codes in PDF, PNG, and SVG formats
  • Webhook integration for dynamic content
  • Bulk operations for enterprise use
  • Advanced search and filtering

Authentication

All API requests require authentication using an API key. Include your API key in the X-API-Key header:

X-API-Key: your_api_key_here

Get your API key from the tagd-ai Dashboard.

Tags

Create, read, update, and delete tags

List Tags

Get a paginated list of tags owned by the authenticated user. Supports search, category filtering, and permission-based filtering.

Authorizations:
ApiKeyAuth
query Parameters
page
integer >= 1
Default: 1

Page number for pagination

limit
integer [ 1 .. 100 ]
Default: 20

Number of items per page

search
string <= 100 characters

Search term for title and description

category
string

Filter by category

permission
string
Enum: "public" "domain" "owner"

Filter by read permission level

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object
Array of objects (Tag)
object

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    },
  • "data": [
    ],
  • "pagination": {
    }
}

Create Tag

Create a new tag with title, content, and permissions. A QR code is automatically generated for the tag.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
title
required
string [ 1 .. 200 ] characters
readPermission
required
string
Enum: "public" "domain" "owner"
writePermission
required
string
Enum: "public" "domain" "owner"
description
string <= 2000 characters
content
string

HTML content

category
string
tags
Array of strings
object

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object
object

Request samples

Content type
application/json
Example
{
  • "title": "My First Tag",
  • "content": "<p>Hello World!</p>",
  • "readPermission": "public",
  • "writePermission": "owner"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    },
  • "data": {
    }
}

Get Tag

Retrieve a specific tag by ID or shortId. Returns full tag details including content and metadata.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Tag ID (UUID) or shortId (6 characters)

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object
object (Tag)

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    },
  • "data": {
    }
}

Update Tag

Update an existing tag. Only fields provided in the request body will be updated.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Tag ID or shortId

Request Body schema: application/json
required
title
string [ 1 .. 200 ] characters
description
string <= 2000 characters
content
string
readPermission
string
Enum: "public" "domain" "owner"
writePermission
string
Enum: "public" "domain" "owner"
category
string
tags
Array of strings

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "content": "string",
  • "readPermission": "public",
  • "writePermission": "public",
  • "category": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    }
}

Delete Tag

Delete a tag. This action is permanent and cannot be undone.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Tag ID or shortId

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    }
}

Public

Public endpoints that don't require authentication

Health Check

Check if the API is running and healthy

Responses

Response Schema: application/json
success
boolean
object

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get Public Tag

Access a public tag without authentication. This endpoint is used when scanning QR codes or accessing shared tags. Only works for tags with public read permission.

path Parameters
id
required
string

Tag shortId

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object
object (Tag)

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    },
  • "data": {
    }
}

QR Codes

Generate QR codes in various formats

Generate QR Code

Generate a QR code for any URL or data string. Supports PDF, PNG, and SVG formats with customization options.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
data
required
string <= 2953 characters

URL or data to encode

format
string
Default: "pdf"
Enum: "pdf" "png" "svg"
string or integer
Default: "medium"

Size preset or pixel value

errorCorrectionLevel
string
Default: "M"
Enum: "L" "M" "Q" "H"
margin
integer [ 0 .. 10 ]
Default: 2
darkColor
string^#[0-9A-Fa-f]{6}$
Default: "#000000"
lightColor
string^#[0-9A-Fa-f]{6}$
Default: "#FFFFFF"
topText
string <= 100 characters

Text above QR code

bottomText
string <= 100 characters

Text below QR code

Responses

Response Schema:
string <binary>

Request samples

Content type
application/json
Example
{}

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Generate QR Code (Simple)

Generate a QR code using query parameters. Simpler interface for basic use cases.

Authorizations:
ApiKeyAuth
query Parameters
data
required
string <= 2953 characters

Data to encode in QR code

format
string
Default: "png"
Enum: "pdf" "png" "svg"

Output format

size
string

Size preset (small/medium/large/xlarge) or pixels (100-2000)

dark
string
Default: "000000"

Dark color (hex without #)

light
string
Default: "FFFFFF"

Light color (hex without #)

Responses

Response Schema:
string <binary>

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Webhooks

Manage webhooks for event notifications and dynamic content

List Webhooks

Get all webhooks configured for the authenticated user.

Authorizations:
ApiKeyAuth

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object
Array of objects (Webhook)

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    },
  • "data": [
    ]
}

Create Webhook

Create a new webhook to receive event notifications.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
name
required
string [ 1 .. 100 ] characters
url
required
string <uri>
events
required
Array of strings non-empty
description
string
enabled
boolean
Default: true
secret
string

Shared secret for HMAC signatures

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object
object (Webhook)

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    },
  • "data": {
    }
}

Get Webhook

Retrieve a specific webhook by ID.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Webhook ID

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object
object (Webhook)

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    },
  • "data": {
    }
}

Update Webhook

Update an existing webhook.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Webhook ID

Request Body schema: application/json
required
name
string <= 100 characters
url
string <uri>
events
Array of strings
enabled
boolean

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    }
}

Delete Webhook

Delete a webhook.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Webhook ID

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    }
}

Test Webhook

Send a test payload to a webhook endpoint to verify it's working correctly.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Webhook ID

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object
object

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    },
  • "data": {
    }
}

API Keys

Manage API keys and permissions

List API Keys

Get all API keys for the authenticated user.

Authorizations:
ApiKeyAuth

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object
Array of objects (ApiKey)

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    },
  • "data": [
    ]
}

Create API Key

Create a new API key with specified permissions.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
name
required
string [ 1 .. 100 ] characters
permissions
required
Array of strings non-empty

List of permissions for this API key

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object
object

Request samples

Content type
application/json
{
  • "name": "Production Integration",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    },
  • "data": {
    }
}

Update API Key

Update an API key's name, permissions, or enabled status.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

API Key ID

Request Body schema: application/json
required
name
string <= 100 characters
permissions
Array of strings
enabled
boolean

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object

Request samples

Content type
application/json
{
  • "name": "string",
  • "permissions": [
    ],
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    }
}

Delete API Key

Delete an API key. This action is permanent.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

API Key ID

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    }
}

Search

Search and filter tags

Search Tags

Advanced search for tags using natural language queries, categories, and sorting options.

Authorizations:
ApiKeyAuth
query Parameters
q
required
string

Search query

category
string

Filter by category

sortBy
string
Enum: "createdAt" "updatedAt" "title" "relevance"

Sort field

sortOrder
string
Default: "desc"
Enum: "asc" "desc"

Sort order

page
integer
Default: 1

Page number

limit
integer <= 100
Default: 20

Items per page

Responses

Response Schema: application/json
success
boolean

Whether the request was successful

object
Array of objects (Tag)
object

Response samples

Content type
application/json
{
  • "success": true,
  • "meta": {
    },
  • "data": [
    ],
  • "pagination": {
    }
}

Bulk Operations

Perform operations on multiple tags at once

Bulk Create Tags

Create multiple tags in a single request. Supports up to 50 tags per request.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
required
Array of objects (CreateTagRequest) [ 1 .. 50 ] items
object

Responses

Response Schema: application/json
success
boolean
created
Array of objects
failed
Array of objects
skipped
Array of objects
object

Request samples

Content type
application/json
{
  • "tags": [
    ],
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "created": [
    ],
  • "failed": [
    ],
  • "skipped": [
    ],
  • "summary": {
    }
}