{
    "openapi": "3.0.3",
    "info": {
        "description": "Search, hold, and purchase Atom marketplace domains as a distribution partner.",
        "version": "1.0.0",
        "title": "Atom Partnership API",
        "contact": {
            "email": "service@atom.com"
        },
        "termsOfService": "https://www.atom.com/terms"
    },
    "servers": [
        {
            "url": "https://www.atom.com/api/marketplace",
            "description": "Production"
        }
    ],
    "tags": [
        {
            "name": "Parnership Apis",
            "description": "All the apis to manage your domain marketplace"
        }
    ],
    "externalDocs": {
        "description": "Atom API docs",
        "url": "https://www.atom.com/api-docs"
    },
    "paths": {
        "/partnership-search": {
            "get": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "Get Available Domains",
                "description": "Search premium partner-eligible domains (Approved or Plus, NS-verified, $500+). Optional category, TLD, and price facet filters.",
                "operationId": "SearchDomains",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "query",
                        "in": "query",
                        "required": false,
                        "description": "Search Query to Pass",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page_size",
                        "in": "query",
                        "description": "Page size (max 100)",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "required": false,
                        "description": "Optional category facet filter. Comma-separated parent category names or ids (e.g. Technology,Health).",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tlds",
                        "in": "query",
                        "required": false,
                        "description": "Optional TLD facet filter. Comma-separated extensions (e.g. com,io,ai or .com,.io,.ai).",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "price",
                        "in": "query",
                        "required": false,
                        "description": "Optional price facet filter. Marketplace price-range labels: Below $2000, From $2K to $5K, From $5K to $10K, From $10K to $50K, Greater Than $50K. Also accepts a numeric range such as 2000-5000.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "min_price",
                        "in": "query",
                        "required": false,
                        "description": "Optional minimum selling price in USD.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "max_price",
                        "in": "query",
                        "required": false,
                        "description": "Optional maximum selling price in USD.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/searchResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/new-listings": {
            "get": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "Get New Listings by Date",
                "description": "Return marketplace domains approved on a given date. Use listing_type=Curated for premium Approved listings only, or All for Approved and Seller Approved.",
                "operationId": "newListings",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "date",
                        "in": "query",
                        "required": true,
                        "description": "Approval date in YYYY-MM-DD format",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "listing_type",
                        "in": "query",
                        "required": false,
                        "description": "Curated (Approved only) or All (Approved + Seller Approved)",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "Curated",
                                "All"
                            ],
                            "default": "All"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NewListingsResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/orders": {
            "get": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "List Partner Orders",
                "description": "List marketplace orders created through the partnership API for the authenticated partner.",
                "operationId": "partnerOrderList",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "schema": {
                            "type": "integer",
                            "default": 1
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Results per page (max 100)",
                        "schema": {
                            "type": "integer",
                            "default": 20
                        }
                    },
                    {
                        "name": "domain_name",
                        "in": "query",
                        "description": "Optional domain name filter",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerOrderListResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/order-details": {
            "get": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "Get Partner Order Details",
                "description": "Get a single partnership order, including transfer and payout details.",
                "operationId": "partnerOrderDetails",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "order_id",
                        "in": "query",
                        "required": true,
                        "description": "Marketplace order ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerOrderDetailsResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/domain-data": {
            "get": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "Get Domain Data",
                "description": "Get Domain Details with the Domain Name",
                "operationId": "ParnershipDomainDetails",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "domain_name",
                        "in": "query",
                        "required": true,
                        "description": "Domain Name or Domain ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DomainApiResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/hold-domain": {
            "post": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "Hold Domain Request",
                "description": "Hold Domain Request",
                "operationId": "HoldDomainRequest",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "domain_id",
                        "in": "query",
                        "required": true,
                        "description": "Domain ID to pass",
                        "schema": {
                            "type": "integer",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HoldDomainResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/confirm-order": {
            "post": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "Confirm Order on the Hold Domains",
                "description": "Confirm Order on the Hold Domains",
                "operationId": "ConfirmOrder",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "domain_id",
                        "in": "query",
                        "required": true,
                        "description": "Domain ID to pass",
                        "schema": {
                            "type": "integer",
                            "default": ""
                        }
                    },
                    {
                        "name": "payment_amount",
                        "in": "query",
                        "required": false,
                        "description": "Custom Amount other than selling_price",
                        "schema": {
                            "type": "integer",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConfirmOrderResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/unhold-domain": {
            "post": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "UnHold Domain Request",
                "description": "UnHold Domain Request",
                "operationId": "UnHoldDomainRequest",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "domain_id",
                        "in": "query",
                        "required": true,
                        "description": "Domain ID to pass",
                        "schema": {
                            "type": "integer",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UnHoldDomainResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/submit-transfer-code": {
            "post": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "Submit Transfer Code",
                "description": "Submit Transfer Code",
                "operationId": "SubmitTransferCode",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "domain_id",
                        "in": "query",
                        "required": true,
                        "description": "Domain ID to pass",
                        "schema": {
                            "type": "integer",
                            "default": ""
                        }
                    },
                    {
                        "name": "code",
                        "in": "query",
                        "required": true,
                        "description": "Auth Code",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SubmitTransferCodeResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/get-transfer-auth-code": {
            "post": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "Get Transfer Auth Code",
                "description": "Get Transfer Auth Code",
                "operationId": "GetTransferAuthCode",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "domain_id",
                        "in": "query",
                        "required": true,
                        "description": "Domain ID to pass",
                        "schema": {
                            "type": "integer",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SubmitTransferCodeResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/started-transfer": {
            "post": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "Started Transfer",
                "description": "Started Transfer",
                "operationId": "Started Transfer",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "domain_id",
                        "in": "query",
                        "required": true,
                        "description": "Domain ID to pass",
                        "schema": {
                            "type": "integer",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SubmitTransferCodeResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/semantic-search": {
            "get": {
                "tags": [
                    "Parnership Apis"
                ],
                "summary": "AI-Powered Semantic Domain Search",
                "description": "Search for domain names using AI-powered semantic search with embeddings and Pinecone. This API creates embeddings for natural language queries and finds semantically similar domains.",
                "operationId": "SemanticSearch",
                "parameters": [
                    {
                        "name": "api_token",
                        "in": "query",
                        "required": true,
                        "description": "API Key to get the details",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true,
                        "description": "UserId of the API Token",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "query",
                        "in": "query",
                        "required": true,
                        "description": "Natural language search query (e.g., 'tech startup names', 'healthcare companies')",
                        "schema": {
                            "type": "string",
                            "example": "tech startup names"
                        }
                    },
                    {
                        "name": "filters",
                        "in": "query",
                        "required": false,
                        "description": "Optional filters to apply to the search (JSON string)",
                        "schema": {
                            "type": "string",
                            "example": "{\"extensions\":[\".com\",\".io\"],\"min_price\":1000,\"type_of_name\":[\"One Word\"]}"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number for pagination (default: 1)",
                        "schema": {
                            "type": "integer",
                            "default": 1,
                            "example": 1,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "page_size",
                        "in": "query",
                        "required": false,
                        "description": "Number of results per page (default: 20, max: 100)",
                        "schema": {
                            "type": "integer",
                            "default": 20,
                            "example": 20,
                            "minimum": 1,
                            "maximum": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "query": {
                                            "type": "string",
                                            "example": "tech startup names"
                                        },
                                        "page": {
                                            "type": "integer",
                                            "example": 1
                                        },
                                        "page_size": {
                                            "type": "integer",
                                            "example": 20
                                        },
                                        "total": {
                                            "type": "integer",
                                            "example": 45
                                        },
                                        "total_pages": {
                                            "type": "integer",
                                            "example": 3
                                        },
                                        "processing_time_ms": {
                                            "type": "number",
                                            "example": 1250
                                        },
                                        "domains": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "domain_name": {
                                                        "type": "string",
                                                        "example": "innovatech"
                                                    },
                                                    "tld": {
                                                        "type": "string",
                                                        "example": "com"
                                                    },
                                                    "full_domain": {
                                                        "type": "string",
                                                        "example": "innovatech.com"
                                                    },
                                                    "selling_price": {
                                                        "type": "number",
                                                        "example": 2500
                                                    },
                                                    "primary_category": {
                                                        "type": "string",
                                                        "example": "Technology"
                                                    },
                                                    "status": {
                                                        "type": "string",
                                                        "example": "Approved"
                                                    },
                                                    "description": {
                                                        "type": "string",
                                                        "example": "Perfect for innovative technology companies"
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time",
                                                        "example": "2023-06-15T10:30:00Z"
                                                    },
                                                    "owner_name": {
                                                        "type": "string",
                                                        "example": "Private"
                                                    },
                                                    "semantic_score": {
                                                        "type": "number",
                                                        "description": "Semantic similarity score from Pinecone",
                                                        "example": 0.85
                                                    },
                                                    "rerank_score": {
                                                        "type": "number",
                                                        "description": "Reranked score after applying quality factors",
                                                        "example": 0.92
                                                    },
                                                    "metadata": {
                                                        "type": "object",
                                                        "properties": {
                                                            "base_quality_score": {
                                                                "type": "number",
                                                                "example": 0.8
                                                            },
                                                            "overall_rank": {
                                                                "type": "number",
                                                                "example": 4.2
                                                            },
                                                            "dictionary_rank": {
                                                                "type": "number",
                                                                "example": 0.9
                                                            },
                                                            "tm_conflicts": {
                                                                "type": "integer",
                                                                "example": 12
                                                            },
                                                            "type_of_name": {
                                                                "type": "string",
                                                                "example": "Two Word"
                                                            },
                                                            "length": {
                                                                "type": "string",
                                                                "example": "Medium"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request - Query is required",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Query is required"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit exceeded",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Daily rate limit exceeded. You have used 50 of 50 daily semantic search requests."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Semantic search error: Failed to generate embedding for query"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "apiToken": {
                "type": "apiKey",
                "in": "query",
                "name": "api_token",
                "description": "Seller / partner / appraisal / trademark API token from https://www.atom.com/dashboard/seller/api-access"
            }
        },
        "schemas": []
    }
}