MiniURL
OAuth 2.1 short-link tools for AI agents with scoped tokens, approvals, audit logs, and revocation.
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- LOWclear_authentication에서
- LOWverify_domain에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"miniurl": {
"url": "https://workers.miniurl.com/mcp"
}
}
}원격 엔드포인트
https://workers.miniurl.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (23)
🟡create_guest_token
Create a short-lived MiniURL guest bearer token. Legacy MCP sessions retain it; stateless clients must pass the returned gt_ token explicitly on later requests. shorten_url can provision one automatically.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"guest_token": {
"type": "string"
},
"expires_at": {
"type": "string"
}
},
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🔴clear_authentication
Clear authentication retained by a legacy MCP session. Stateless clients clear authentication by omitting the Authorization header on later requests.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"auth_mode": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟡shorten_url(url, alias, domain, password, expiration, ...)
Create a MiniURL short link for a supplied HTTP or HTTPS destination. Use when the user asks to shorten a URL or generate a MiniURL link. This is an additive external write; do not fetch or open the destination. If no authentication is supplied, MiniURL automatically starts a guest flow. Reuse idempotency_key when retrying the same logical request.
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The HTTP or HTTPS destination URL to shorten."
},
"alias": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Optional custom alias. Call check_alias before creating it. Requires a registered account; miniurl.com aliases must be at least 4 characters."
},
"domain": {
"type": "string",
"format": "hostname",
"description": "Optional domain. Requires a registered account with an active custom domain."
},
"password": {
"type": "string",
"description": "Optional password. Requires Pro."
},
"expiration": {
"type": "string",
"format": "date-time",
"description": "Optional ISO 8601 expiration datetime. Requires Pro."
},
"activated_at": {
"type": "string",
"format": "date-time",
"description": "Optional ISO 8601 activation datetime. Requires Pro."
},
"dry_run": {
"type": "boolean",
"description": "Validate the destination and show the planned link without creating it. Agent tokens only."
},
"idempotency_key": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._:-]{8,128}$",
"description": "Optional idempotency key. Reusing it with the same payload safely replays the original result."
}
},
"required": [
"url"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"short_url": {
"type": "string"
},
"alias": {
"type": "string"
},
"full_url": {
"type": "string"
},
"domain": {
"type": "string"
}
},
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟡send_registration_code(email)
Send a 6-digit registration code to the user email, using the current guest session.
입력 스키마
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "The user email address."
}
},
"required": [
"email"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟡verify_registration_code(email, code)
Verify the emailed code, create the account, claim guest links, and continue with OAuth 2.1 + PKCE. Long-lived API keys are never returned over MCP.
입력 스키마
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "The user email address."
},
"code": {
"type": "string",
"pattern": "^\\d{6}$",
"description": "The 6-digit verification code."
}
},
"required": [
"email",
"code"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟢get_account_status
Inspect the current guest/free/pro account status, remaining quota, and feature availability.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🔴start_pro_upgrade(interval, idempotency_key, approval_id, approval_token)
Create a shortened checkout link for upgrading the current registered account to Pro.
입력 스키마
{
"type": "object",
"properties": {
"interval": {
"type": "string",
"enum": [
"monthly",
"yearly"
],
"description": "Billing interval. Defaults to monthly."
},
"idempotency_key": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._:-]{8,128}$"
},
"approval_id": {
"type": "string",
"description": "Approval id returned by a previous USER_APPROVAL_REQUIRED response."
},
"approval_token": {
"type": "string",
"description": "Legacy compatibility field; normally omit it and retry with approval_id after approval."
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"checkout_url": {
"type": "string"
},
"interval": {
"type": "string"
}
},
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟢list_domains
List domains available to the current registered account, including miniurl.com and active custom domains.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"domains": {
"type": "array"
}
},
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🔴add_domain(domain, approval_id, approval_token)
Request a custom domain to be connected to MiniURL. Agent domain changes require human approval by default.
입력 스키마
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"format": "hostname",
"description": "A custom hostname such as links.example.com."
},
"approval_id": {
"type": "string"
},
"approval_token": {
"type": "string",
"description": "Legacy compatibility field; normally omit it."
}
},
"required": [
"domain"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🔴delete_domain(domain_id, confirm, approval_id, approval_token)
Delete a custom domain and its linked URLs after a dry-run confirmation. Agent domain changes require human approval by default.
입력 스키마
{
"type": "object",
"properties": {
"domain_id": {
"type": "integer",
"minimum": 1
},
"confirm": {
"type": "boolean",
"description": "Set true only after reviewing the dry-run impact response."
},
"approval_id": {
"type": "string"
},
"approval_token": {
"type": "string",
"description": "Legacy compatibility field; normally omit it."
}
},
"required": [
"domain_id"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}⚪verify_domain(domain_id, approval_id, approval_token)
Refresh custom-domain DNS and SSL verification status. Agent domain changes require human approval by default.
입력 스키마
{
"type": "object",
"properties": {
"domain_id": {
"type": "integer",
"minimum": 1
},
"approval_id": {
"type": "string"
},
"approval_token": {
"type": "string",
"description": "Legacy compatibility field; normally omit it."
}
},
"required": [
"domain_id"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟢list_links(limit, offset, cursor, search, domain)
List short links for the current registered account.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Optional page size. Defaults to 20."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Optional zero-based offset for pagination. Defaults to 0."
},
"cursor": {
"type": "string",
"description": "Opaque cursor returned as next_cursor. Prefer cursor pagination for stable traversal."
},
"search": {
"type": "string",
"description": "Optional search term for alias or destination URL."
},
"domain": {
"type": "string",
"format": "hostname",
"description": "Optional domain filter."
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"links": {
"type": "array"
},
"pagination": {
"type": "object"
}
},
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟢get_link(alias, domain)
Get a single short link by alias for the current registered account.
입력 스키마
{
"type": "object",
"properties": {
"alias": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The link alias to fetch."
},
"domain": {
"type": "string",
"format": "hostname",
"description": "The link domain. Defaults to miniurl.com."
}
},
"required": [
"alias"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟡update_link(alias, domain, url, password, clear_password, ...)
Update a registered short link. Some fields require Pro.
입력 스키마
{
"type": "object",
"properties": {
"alias": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The link alias to update."
},
"domain": {
"type": "string",
"format": "hostname",
"description": "The link domain. Defaults to miniurl.com."
},
"url": {
"type": "string",
"format": "uri",
"description": "New HTTP or HTTPS destination URL. Requires Pro."
},
"password": {
"type": "string",
"description": "Set or replace the password. Requires Pro."
},
"clear_password": {
"type": "boolean",
"description": "Remove the current password."
},
"expiration": {
"type": "string",
"format": "date-time",
"description": "Set a new ISO 8601 expiration datetime. Requires Pro."
},
"clear_expiration": {
"type": "boolean",
"description": "Clear the current expiration."
},
"activated_at": {
"type": "string",
"format": "date-time",
"description": "Set a new ISO 8601 activation datetime. Requires Pro."
},
"clear_activated_at": {
"type": "boolean",
"description": "Clear the current scheduled activation datetime."
},
"dry_run": {
"type": "boolean",
"description": "Validate and preview the update without changing the link. Agent tokens only."
},
"idempotency_key": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._:-]{8,128}$"
}
},
"required": [
"alias"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🔴delete_link(alias, domain, dry_run, idempotency_key, approval_id, ...)
Delete a registered short link permanently.
입력 스키마
{
"type": "object",
"properties": {
"alias": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The alias to delete."
},
"domain": {
"type": "string",
"format": "hostname",
"description": "The link domain. Defaults to miniurl.com."
},
"dry_run": {
"type": "boolean",
"description": "Preview the deletion and affected link scope without writing. Human approval is still required for the real delete."
},
"idempotency_key": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._:-]{8,128}$"
},
"approval_id": {
"type": "string",
"description": "Approval id returned by a previous USER_APPROVAL_REQUIRED response."
},
"approval_token": {
"type": "string",
"description": "Legacy compatibility field; normally omit it and retry with approval_id after approval."
}
},
"required": [
"alias"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟡bulk_create_links(links, idempotency_key)
Create multiple short links in one request. Free accounts can create up to 10 at a time, Pro up to 50.
입력 스키마
{
"type": "object",
"properties": {
"links": {
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"alias": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"domain": {
"type": "string",
"format": "hostname"
},
"password": {
"type": "string"
},
"expiration": {
"type": "string",
"format": "date-time"
},
"activated_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"url"
]
}
},
"idempotency_key": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._:-]{8,128}$"
}
},
"required": [
"links"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"results": {
"type": "array"
},
"summary": {
"type": "object"
}
},
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟢get_link_stats(alias, domain, period)
Get link analytics. Free accounts receive a basic total plus an upgrade hint; Pro accounts receive full breakdowns.
입력 스키마
{
"type": "object",
"properties": {
"alias": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The alias to inspect."
},
"domain": {
"type": "string",
"format": "hostname",
"description": "Optional domain to scope the alias lookup. Defaults to miniurl.com."
},
"period": {
"type": "string",
"enum": [
"24H",
"7D",
"30D",
"ALL"
],
"description": "Analytics time range. Defaults to 7D."
}
},
"required": [
"alias"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"total_clicks": {
"type": "integer"
},
"clicks": {
"type": "array"
}
},
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟢check_alias(alias, domain)
Check whether a custom alias is available on a given domain before creating a link.
입력 스키마
{
"type": "object",
"properties": {
"alias": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The alias to check."
},
"domain": {
"type": "string",
"format": "hostname",
"description": "The domain to check on. Defaults to miniurl.com."
}
},
"required": [
"alias"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"exists": {
"type": "boolean"
},
"available": {
"type": "boolean"
}
},
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟢list_tags
List all tags for the current registered account. Tags help organise links into campaigns or categories.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"tags": {
"type": "array"
}
},
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟡create_tag(name, color)
Create a new tag for organising links. Maximum 20 tags per account.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 30,
"description": "Tag name, 1-30 characters."
},
"color": {
"type": "string",
"enum": [
"#6b7280",
"#ef4444",
"#f97316",
"#eab308",
"#22c55e",
"#06b6d4",
"#3b82f6",
"#8b5cf6",
"#ec4899"
],
"description": "Tag colour hex code. Defaults to #6b7280 (grey)."
}
},
"required": [
"name"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🔴delete_tag(tag_id, approval_id, approval_token)
Delete a tag and remove it from all associated links.
입력 스키마
{
"type": "object",
"properties": {
"tag_id": {
"type": "integer",
"minimum": 1,
"description": "The tag ID to delete."
},
"approval_id": {
"type": "string",
"description": "Approval id returned by a previous USER_APPROVAL_REQUIRED response."
},
"approval_token": {
"type": "string",
"description": "Legacy compatibility field; normally omit it and retry with approval_id after approval."
}
},
"required": [
"tag_id"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🟡tag_link(alias, domain, tag_id)
Add a tag to a short link for campaign or category organisation.
입력 스키마
{
"type": "object",
"properties": {
"alias": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The link alias to tag."
},
"domain": {
"type": "string",
"format": "hostname",
"description": "The link domain. Defaults to miniurl.com."
},
"tag_id": {
"type": "integer",
"minimum": 1,
"description": "The tag ID to assign."
}
},
"required": [
"alias",
"tag_id"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}🔴untag_link(alias, domain, tag_id)
Remove a tag from a short link.
입력 스키마
{
"type": "object",
"properties": {
"alias": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The link alias."
},
"domain": {
"type": "string",
"format": "hostname",
"description": "The link domain. Defaults to miniurl.com."
},
"tag_id": {
"type": "integer",
"minimum": 1,
"description": "The tag ID to remove."
}
},
"required": [
"alias",
"tag_id"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": [
"object",
"array",
"string",
"number",
"boolean",
"null"
],
"additionalProperties": true
},
"error": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": true
}
]
},
"request_id": {
"type": "string",
"minLength": 8
},
"retryable": {
"type": "boolean"
},
"retry_after": {
"type": "integer",
"minimum": 0
},
"required_scope": {
"type": "string"
},
"user_action_required": {
"type": "boolean"
},
"next_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"approval": {
"type": "object",
"additionalProperties": true
},
"meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"success",
"request_id"
],
"additionalProperties": false
}커뮤니티
증거