Posit Vanity URLs API

The Vanity URLs API from Posit — 2 operation(s) for vanity urls.

Operations 4

DELETE /v1/content/{guid}/vanity Delete vanity URL #
GET /v1/content/{guid}/vanity Get vanity URL #
PUT /v1/content/{guid}/vanity Set vanity URL #
GET /v1/vanities List vanity URLs #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/posit-vanity-urls-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

posit-vanity-urls-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@posit.co
    name: Posit Connect Support
    url: https://support.posit.co/hc/en-us
  description: '## Overview


    The Posit Connect Server API can be used to perform certain

    user actions remotely.'
  license:
    name: Commercial. Copyright 2015-2026 Posit Software, PBC. All Rights Reserved.
    url: https://posit.co/about/eula/
  termsOfService: https://posit.co/about/eula/
  title: Posit Connect API Reference Vanity URLs API
  version: 1.0.1
servers:
- url: /__api__
security:
- apiKey: []
tags:
- name: Vanity URLs
paths:
  /v1/content/{guid}/vanity:
    delete:
      description: 'Delete the vanity URL for this content.


        If `Authorization.PublishersCanManageVanities` is `true` (default), publishers

        can delete the vanity URL for content items that they have permission to change.

        Otherwise, administrator permissions are required.'
      operationId: deleteVanity
      parameters:
      - in: path
        name: guid
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '204':
          description: Successful response.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested operation is invalid.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested operation requires authentication.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested object does not exist.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: A server error occurred.
      summary: Delete vanity URL
      tags:
      - Vanity URLs
    get:
      description: 'Get the vanity URL, if any, defined for this content.

        If the content item has a vanity URL, it is returned.

        If there is no vanity URL for this content, a 404 status is returned.


        Administrators can get the vanity URL for any content item.

        Any authenticated user who is authorized to view the content can

        get the vanity URL.'
      operationId: getVanity
      parameters:
      - in: path
        name: guid
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vanity'
          description: Successful response.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested operation is invalid.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested operation requires authentication.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested object does not exist.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: A server error occurred.
      summary: Get vanity URL
      tags:
      - Vanity URLs
    put:
      description: 'Set the vanity URL for this content item.


        A vanity URL path must meet certain requirements:


        * It must consist of alphanumeric characters, hyphens, underscores,

        and slashes.


        * It cannot be a reserved path such as the root path `/`, or a path

        beginning with `/__`.


        * The following path prefixes are prohibited:


        * `/__`

        * `/favicon.ico`

        * `/connect`

        * `/apps`

        * `/users`

        * `/groups`

        * `/setpassword`

        * `/user-completion`

        * `/confirm`

        * `/recent`

        * `/reports`

        * `/plots`

        * `/unpublished`

        * `/settings`

        * `/metrics`

        * `/tokens`

        * `/help`

        * `/login`

        * `/welcome`

        * `/register`

        * `/resetpassword`

        * `/content`

        * _The custom location for the Connect dashboard, configured by `Server.DashboardPath`._


        * It cannot be an ancestor or descendant of an existing vanity URL

        path. For example, if the vanity path `/a/b/` exists, you cannot

        add `/a/` or `/a/b/c/`.


        If `Authorization.PublishersCanManageVanities` is `true` (default), publishers

        can set the vanity URL for content items that they have permission to change.

        Otherwise, administrator permissions are required.


        You can reassign an existing vanity URL to a different content item,

        if you are an administrator or collaborator/owner of both content items. You must

        set the `force` parameter to `true` to reassign a URL. An error

        will be returned if `force` is `false` and the URL already exists.'
      operationId: setVanity
      parameters:
      - in: path
        name: guid
        required: true
        schema:
          format: uuid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VanityInput'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vanity'
          description: Successful response.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested operation is invalid.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested operation requires authentication.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested object does not exist.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The request could not be completed due to a conflict.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: A server error occurred.
      summary: Set vanity URL
      tags:
      - Vanity URLs
  /v1/vanities:
    get:
      description: 'List all defined vanity URLs.


        You must have administrator privileges to perform this action.'
      operationId: listVanities
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Vanity'
                type: array
          description: Successful response.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested operation is invalid.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested operation requires authentication.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: The requested object does not exist.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: A server error occurred.
      summary: List vanity URLs
      tags:
      - Vanity URLs
components:
  schemas:
    APIError:
      additionalProperties: false
      description: The error object returned by the API on failure.
      properties:
        code:
          description: The specific code for the type of error returned. See the [API error codes reference](#api-error-codes) for the full set of values.
          type: integer
        error:
          description: A description of the problem that was encountered.
          type: string
        payload:
          description: Additional error details, if any. The structure varies by error type.
          type:
          - object
          - 'null'
      required:
      - code
      - error
      type: object
    Vanity:
      additionalProperties: false
      description: The fields that are returned when getting or listing vanity URLs.
      properties:
        content_guid:
          description: The unique identifier of the associated content item.
          example: 25438b83-ea6d-4839-ae8e-53c52ac5f9ce
          format: uuid
          type: string
        path:
          description: 'The URL path that will be used by this application. HTTP requests to

            this path on the Connect server will be routed to the associated

            content item.'
          example: /stock-report/
          type: string
        created_time:
          description: The timestamp (RFC3339) indicating when this vanity URL was created.
          example: '2006-01-02T15:04:05-07:00'
          format: date-time
          type: string
      type: object
    VanityInput:
      additionalProperties: false
      description: The fields that can be specified when creating a vanity URL.
      properties:
        path:
          description: 'The URL path that will be assigned to this content item. HTTP requests to

            this path on the Connect server will be routed to the associated

            content item.'
          example: /stock-report/
          type: string
        force:
          description: 'If true, and a vanity URL exists with the specified path,

            reassign it to the specified content item. To reassign

            a vanity URL, you must be an administrator, or a

            collaborator/owner of both content items.'
          type: boolean
      type: object
  securitySchemes:
    apiKey:
      description: 'Prefix your API key with `Key `, e.g. `Key ABC123`.

        '
      in: header
      name: Authorization
      type: apiKey