Rackspace Technology Tokens API

Authentication and token validation operations.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

rackspace-technology-tokens-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Rackspace Cloud DNS Contacts Tokens API
  version: '1.0'
  description: The Rackspace Cloud DNS API (v1.0) provides programmatic management of DNS zones and records hosted on the Rackspace Cloud. Operations include listing, creating, updating, importing, exporting, and cloning domains, plus full CRUD on standard DNS records and reverse DNS PTR records, with support for paginated listings, asynchronous job tracking, and per-account usage limits.
  contact:
    name: Rackspace Technology
    url: https://www.rackspace.com/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  x-generated-from: documentation
  x-source-url: https://github.com/rackerlabs/docs-cloud-dns
  x-last-validated: '2026-05-05'
servers:
- url: https://dns.api.rackspacecloud.com/v1.0
  description: Rackspace Cloud DNS production endpoint
security:
- AuthToken: []
tags:
- name: Tokens
  description: Authentication and token validation operations.
paths:
  /v2.0/tokens:
    post:
      operationId: authenticate
      summary: Authenticate
      description: Authenticates as a user with password or API-key credentials, or as a tenant with an existing token, and returns an access token, the user's roles, and the service catalog of endpoints they may access.
      tags:
      - Tokens
      security: []
      parameters:
      - in: query
        name: apply_rcn_roles
        required: false
        schema:
          type: boolean
          default: false
        description: When true, returns any roles and endpoints accessible due to RCN roles.
      - in: query
        name: include_accessible_domains
        required: false
        schema:
          type: boolean
          default: false
      - in: query
        name: include_endpoints
        required: false
        schema:
          type: boolean
          default: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthenticateRequest'
      responses:
        '200':
          description: Authenticated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticateResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v2.0/tokens/{tokenId}:
    parameters:
    - $ref: '#/components/parameters/TokenId'
    get:
      operationId: validateToken
      summary: Validate Token
      description: Validates a token and returns the user, roles, and tenants associated with it.
      tags:
      - Tokens
      parameters:
      - in: query
        name: belongsTo
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Token validated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticateResponse'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: revokeToken
      summary: Revoke Token
      description: Revokes the specified token.
      tags:
      - Tokens
      responses:
        '204':
          description: Token revoked.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v2.0/tokens/{tokenId}/endpoints:
    parameters:
    - $ref: '#/components/parameters/TokenId'
    get:
      operationId: listEndpointsForToken
      summary: List Endpoints For Token
      description: Returns the list of endpoints accessible by the supplied token.
      tags:
      - Tokens
      responses:
        '200':
          description: Endpoint list returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointList'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    User:
      title: User
      type: object
      properties:
        id:
          type: string
        username:
          type: string
        email:
          type: string
          format: email
        enabled:
          type: boolean
        domainId:
          type: string
        defaultRegion:
          type: string
        roles:
          type: array
          items:
            $ref: '#/components/schemas/Role'
    Fault:
      title: Fault
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        details:
          type: string
    Token:
      title: Token
      type: object
      properties:
        id:
          type: string
        expires:
          type: string
          format: date-time
        tenant:
          $ref: '#/components/schemas/Tenant'
    EndpointList:
      title: EndpointList
      type: object
      properties:
        endpoints:
          type: array
          items:
            $ref: '#/components/schemas/Endpoint'
    Role:
      title: Role
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        serviceId:
          type: string
        tenantId:
          type: string
    Endpoint:
      title: Endpoint
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        name:
          type: string
        region:
          type: string
        publicURL:
          type: string
          format: uri
        internalURL:
          type: string
          format: uri
        tenantId:
          type: string
        versionId:
          type: string
    Tenant:
      title: Tenant
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        enabled:
          type: boolean
    AuthenticateResponse:
      title: AuthenticateResponse
      type: object
      properties:
        access:
          type: object
          properties:
            token:
              $ref: '#/components/schemas/Token'
            user:
              $ref: '#/components/schemas/User'
            serviceCatalog:
              type: array
              items:
                $ref: '#/components/schemas/ServiceCatalogEntry'
    ServiceCatalogEntry:
      title: ServiceCatalogEntry
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        endpoints:
          type: array
          items:
            $ref: '#/components/schemas/Endpoint'
    AuthenticateRequest:
      title: AuthenticateRequest
      type: object
      properties:
        auth:
          type: object
          properties:
            tenantName:
              type: string
            tenantId:
              type: string
            passwordCredentials:
              type: object
              required:
              - username
              - password
              properties:
                username:
                  type: string
                password:
                  type: string
            RAX-KSKEY:apiKeyCredentials:
              type: object
              required:
              - username
              - apiKey
              properties:
                username:
                  type: string
                apiKey:
                  type: string
            token:
              type: object
              properties:
                id:
                  type: string
  responses:
    Forbidden:
      description: User disabled or missing required role.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Fault'
    Unauthorized:
      description: Invalid credentials or missing required MFA.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Fault'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Fault'
    BadRequest:
      description: Missing or invalid request parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Fault'
  parameters:
    TokenId:
      in: path
      name: tokenId
      required: true
      schema:
        type: string
  securitySchemes:
    AuthToken:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: Rackspace Cloud Identity-issued authentication token.