---
updatedAt: 2026-06-22T06:24:00.000Z
agentTools:
  projectIndex: https://developers.rebrandly.com/llms.txt
---

# List Custom Attributes

# OpenAPI definition

````json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Rebrandly API",
    "description": "# Rebrandly API Documentation\n\nThe Rebrandly API allows you to programmatically create, update, and manage your branded short links,\ncustom domains, workspaces, and analytics.\n\n## Base URL\n\nAll API requests should be made to:\n```\nhttps://api.rebrandly.com/v1\n```\n\n## Authentication\n\nThe Rebrandly API uses API keys for authentication. You can obtain your API key from your\n[Rebrandly account settings](https://app.rebrandly.com/account/api-keys).\n\nInclude your API key in the request header:\n```\napikey: YOUR_API_KEY\n```\n\n## Rate Limiting\n\nAPI requests are rate-limited based on your subscription plan. Rate limit information is included\nin response headers:\n- `X-RateLimit-Limit`: Total requests allowed per period\n- `X-RateLimit-Remaining`: Requests remaining in current period\n- `X-RateLimit-Reset`: Time when the rate limit resets (Unix timestamp)\n\n## Multi-Tenancy and Workspaces\n\nMost Rebrandly API resources (links, domains, scripts, tags) are organized into **Workspaces**.\nTo access resources in a specific workspace, you must include the `Workspace` header with the workspace's unique ID.\n\n```\nWorkspace: YOUR_WORKSPACE_ID\n```\n\nIf the `Workspace` header is omitted, the request will be processed in your **Default Workspace**.\n",
    "version": "7.0.2",
    "contact": {
      "name": "Rebrandly Team",
      "email": "dev@rebrandly.com"
    },
    "license": {
      "name": "Proprietary"
    }
  },
  "servers": [
    {
      "url": "https://api.rebrandly.com/v1",
      "description": "Production API"
    }
  ],
  "paths": {
    "/custom/attributes": {
      "get": {
        "summary": "List Custom Attributes",
        "operationId": "listCustomAttributes",
        "parameters": [
          {
            "$ref": "#/components/parameters/WorkspaceHeader"
          },
          {
            "$ref": "#/components/parameters/ApiKeyHeader"
          },
          {
            "$ref": "#/components/parameters/LimitParam"
          },
          {
            "$ref": "#/components/parameters/OrderByParam"
          },
          {
            "$ref": "#/components/parameters/OrderDirParam"
          },
          {
            "$ref": "#/components/parameters/LastParam"
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of custom attributes",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomAttribute"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "tags": [
          "Custom Attributes"
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Custom Attributes",
      "description": "Custom link attributes for additional metadata.\n\n**Feature Required:** `links.customAttributes`\n"
    }
  ],
  "components": {
    "securitySchemes": {
      "apiKey": {
        "type": "apiKey",
        "in": "header",
        "name": "apikey",
        "description": "Rebrandly API key for authentication"
      }
    },
    "parameters": {
      "WorkspaceHeader": {
        "name": "Workspace",
        "in": "header",
        "required": false,
        "description": "Workspace public ID",
        "schema": {
          "type": "string",
          "example": "workspace123abc"
        }
      },
      "ApiKeyHeader": {
        "name": "apikey",
        "in": "header",
        "required": true,
        "description": "API key for authentication",
        "schema": {
          "type": "string"
        }
      },
      "LimitParam": {
        "name": "limit",
        "in": "query",
        "description": "Maximum number of results (default 25, max 25)",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 25,
          "default": 25
        }
      },
      "OrderByParam": {
        "name": "orderBy",
        "in": "query",
        "description": "Field to sort by",
        "schema": {
          "type": "string",
          "default": "createdAt"
        }
      },
      "OrderDirParam": {
        "name": "orderDir",
        "in": "query",
        "description": "Sort direction",
        "schema": {
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ],
          "default": "asc"
        }
      },
      "LastParam": {
        "name": "last",
        "in": "query",
        "description": "Cursor for pagination (last item ID from previous page)",
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "CustomAttribute": {
        "type": "object",
        "description": "Custom attribute definition for links",
        "required": [
          "id",
          "key",
          "type"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Custom attribute public ID"
          },
          "key": {
            "type": "string",
            "description": "Attribute key name",
            "example": "campaign_id"
          },
          "type": {
            "type": "string",
            "enum": [
              "string",
              "numeric"
            ],
            "description": "Attribute value type"
          }
        }
      }
    }
  },
  "security": [
    {
      "apiKey": []
    }
  ],
  "x-readme": {}
}
````