Neynar · Example Payload

Assign Custom Domain

Assigns a custom *.neynar.app subdomain to the user's deployed miniapp. The new domain is added to the Vercel project alongside the existing auto-assigned domain. The productionDomain in the database is updated to the custom domain. Requires API key authentication. Note: Studio CU is tracked based on LLM token usage, not per API call.

studio

Assign Custom Domain is an example object payload from Neynar, with 9 top-level fields. It illustrates the shape of data this provider's APIs accept or return.

Top-level fields

operationIdmethodpathsummarydescriptiontagsparametersrequestBodyresponses

Example Payload

Raw ↑
{
  "operationId": "assign-custom-domain",
  "method": "PUT",
  "path": "/v2/studio/vercel/domain",
  "summary": "Assign a custom subdomain to a deployed miniapp",
  "description": "Assigns a custom *.neynar.app subdomain to the user's deployed miniapp. The new domain is added to the Vercel project alongside the existing auto-assigned domain. The productionDomain in the database is updated to the custom domain. Requires API key authentication. Note: Studio CU is tracked based on LLM token usage, not per API call.",
  "tags": [
    "studio"
  ],
  "parameters": [
    {
      "name": "fid",
      "in": "query",
      "required": true,
      "description": "Farcaster ID of the requesting user",
      "schema": {
        "example": 3,
        "format": "int32",
        "minimum": 0,
        "type": "integer"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "schema": {
      "properties": {
        "deployment_id": {
          "description": "Deployment ID (UUID) of the miniapp",
          "format": "uuid",
          "type": "string"
        },
        "subdomain": {
          "description": "The desired subdomain (without .neynar.app suffix). Must be 3-63 characters, lowercase alphanumeric and hyphens only.",
          "maxLength": 63,
          "minLength": 3,
          "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?$",
          "type": "string"
        }
      },
      "required": [
        "deployment_id",
        "subdomain"
      ],
      "type": "object"
    },
    "example": null
  },
  "responses": {
    "200": {
      "description": "Success",
      "schema": {
        "properties": {
          "domain": {
            "description": "The full assigned domain (e.g., myapp.neynar.app)",
            "type": "string"
          },
          "previous_domain": {
            "description": "The previous production domain, if any",
            "type": "string"
          },
          "success": {
            "enum": [
              true
            ],
            "type": "boolean"
          }
        },
        "required": [
          "success",
          "domain"
        ],
        "type": "object"
      },
      "example": null
    },
    "400": {
      "description": "Bad Request",
      "schema": {
        "properties": {
          "error": {
            "type": "string"
          },
          "success": {
            "enum": [
              false
            ],
            "type": "boolean"
          }
        },
        "required": [
          "success",
          "error"
        ],
        "type": "object"
      },
      "example": null
    },
    "403": {
      "description": "Forbidden",
      "schema": {
        "properties": {
          "error": {
            "type": "string"
          },
          "success": {
            "enum": [
              false
            ],
            "type": "boolean"
          }
        },
        "required": [
          "success",
          "error"
        ],
        "type": "object"
      },
      "example": null
    },
    "404": {
      "description": "Resource not found",
      "schema": {
        "properties": {
          "error": {
            "type": "string"
          },
          "success": {
            "enum": [
              false
            ],
            "type": "boolean"
          }
        },
        "required": [
          "success",
          "error"
        ],
        "type": "object"
      },
      "example": null
    },
    "409": {
      "description": "Conflict",
      "schema": {
        "properties": {
          "error": {
            "type": "string"
          },
          "success": {
            "enum": [
              false
            ],
            "type": "boolean"
          }
        },
        "required": [
          "success",
          "error"
        ],
        "type": "object"
      },
      "example": null
    },
    "500": {
      "description": "Server Error",
      "schema": {
        "properties": {
          "error": {
            "type": "string"
          },
          "success": {
            "enum": [
              false
            ],
            "type": "boolean"
          }
        },
        "required": [
          "success",
          "error"
        ],
        "type": "object"
      },
      "example": null
    }
  }
}