openapi: 3.0.3 info: title: Telefoon Number Management Available Numbers Owned Numbers API description: Search, purchase, and manage Dutch, Belgian, German, and European phone numbers. Supports local geographic numbers, national numbers, toll-free (0800), premium (0900), and service numbers with full compliance for EU regulatory requirements. version: v1 contact: name: Telefoon Support url: https://www.telefoon.com/support termsOfService: https://www.telefoon.com/terms servers: - url: https://api.telefoon.com/v1/numbers description: Telefoon Number Management API security: - ApiKeyAuth: [] tags: - name: Owned Numbers description: Manage owned numbers paths: /owned: get: operationId: listOwnedNumbers summary: List Owned Numbers description: List phone numbers in your account. tags: - Owned Numbers parameters: - name: country_code in: query schema: type: string description: Filter by country - name: page in: query schema: type: integer - name: page_size in: query schema: type: integer maximum: 100 responses: '200': description: Owned numbers content: application/json: schema: type: object properties: numbers: type: array items: $ref: '#/components/schemas/OwnedNumber' total: type: integer post: operationId: purchaseNumber summary: Purchase Number description: Purchase a phone number. tags: - Owned Numbers requestBody: required: true content: application/json: schema: type: object required: - phone_number properties: phone_number: type: string description: Number in E.164 format voice_url: type: string description: Inbound call webhook URL sms_url: type: string description: Inbound SMS webhook URL friendly_name: type: string description: Label for the number address_id: type: string description: Address ID for regulatory compliance (required for some EU number types) responses: '201': description: Number purchased content: application/json: schema: $ref: '#/components/schemas/OwnedNumber' /owned/{phone_number}: get: operationId: getOwnedNumber summary: Get Owned Number description: Get configuration for a specific number. tags: - Owned Numbers parameters: - name: phone_number in: path required: true schema: type: string responses: '200': description: Number details content: application/json: schema: $ref: '#/components/schemas/OwnedNumber' delete: operationId: releaseNumber summary: Release Number description: Release a phone number from your account. tags: - Owned Numbers parameters: - name: phone_number in: path required: true schema: type: string responses: '204': description: Number released components: schemas: OwnedNumber: type: object required: - phone_number - type properties: phone_number: type: string description: Phone number in E.164 format friendly_name: type: string type: type: string enum: - geographic - national - mobile - toll-free - premium-rate - service country_code: type: string capabilities: type: object properties: voice: type: boolean sms: type: boolean voice_url: type: string description: Inbound call webhook sms_url: type: string description: Inbound SMS webhook date_created: type: string format: date-time monthly_rate: type: string description: Monthly rate in EUR securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key