> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tikk.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Delete a service

> Deletes a service of either type.

- A default service is deleted. If it was the highlighted one, your
  oldest remaining service becomes highlighted.
- A single-use service is deleted only while it hasn't been booked. A
  booked one stays: it's the booking's record of how it was made.

**Scope:** `services.write`




## OpenAPI

````yaml api-reference/openapi.yaml DELETE /services/{id}
openapi: 3.1.0
info:
  title: Tikk API
  version: 1.0.0
  summary: Your Tikk profile, services, free time slots and bookings.
  description: |
    A REST API over one Tikk account: its public profile, its services, the
    time slots it has free and the bookings people have made with it. Reading
    is the default; writing is limited to services.

    Every response is JSON, every timestamp is ISO 8601 in UTC, and every
    request needs a bearer token: an API key (`tikk_sk_...`) or an OAuth access
    token. Each endpoint requires one scope. Rate limit: 60 requests per minute
    per credential.
  contact:
    name: Tikk support
    url: https://tikk.chat
servers:
  - url: https://app.tikk.chat/api/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Profile
    description: Your public profile and plan.
  - name: Services
    description: Your default services and single-use links.
  - name: Availability
    description: The time slots you have free.
  - name: Bookings
    description: The bookings people have made with you.
paths:
  /services/{id}:
    parameters:
      - name: id
        in: path
        required: true
        description: >-
          The service `id`, as returned by `GET /services` or `POST /services`.
          Slugs aren't accepted.
        schema:
          type: integer
        example: 48213
    delete:
      tags:
        - Services
      summary: Delete a service
      description: |
        Deletes a service of either type.

        - A default service is deleted. If it was the highlighted one, your
          oldest remaining service becomes highlighted.
        - A single-use service is deleted only while it hasn't been booked. A
          booked one stays: it's the booking's record of how it was made.

        **Scope:** `services.write`
      operationId: deleteService
      responses:
        '204':
          description: Deleted. The body is empty.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/MissingScope'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: The single-use service has been booked and can't be deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: A single-use service that has been booked cannot be deleted.
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - bearerAuth:
            - services.write
components:
  responses:
    Unauthorized:
      description: No credential was sent, or it's revoked, expired or unknown.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Unauthenticated.
    MissingScope:
      description: The credential doesn't carry the scope this endpoint needs.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MissingScopeError'
          examples:
            missingScope:
              $ref: '#/components/examples/MissingScope'
    NotFound:
      description: |
        Nothing with this id on your account. Ids that belong to another
        account also return `404`: the API never confirms they exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Not found.
    TooManyRequests:
      description: More than 60 requests in a minute for this credential.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Too Many Attempts.
  schemas:
    Error:
      type: object
      properties:
        message:
          type: string
          description: What went wrong. Branch on the status code, not on this text.
      required:
        - message
    MissingScopeError:
      type: object
      properties:
        message:
          type: string
          example: Missing required scope.
        scopes:
          type: array
          description: The scope or scopes the endpoint needs.
          items:
            type: string
      required:
        - message
        - scopes
  examples:
    MissingScope:
      summary: Missing scope
      value:
        message: Missing required scope.
        scopes:
          - services.write
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |
        An API key from **Settings → API Keys** (starts with `tikk_sk_`), or an
        OAuth access token for a partner app. Both carry scopes; each endpoint
        lists the one it needs.

````