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

# Link a Phone Number to a Messaging Service

> Ask to link one of your phone numbers to a business (A2P) messaging
service.

The request goes to Finogate's team, who register the service with the
messaging provider and approve it. Once approved, messages sent from this
number go out through the registered service.



## OpenAPI

````yaml POST /v1/platform/phone-numbers/{phone_number_id}/messaging-services
openapi: 3.1.0
info:
  title: Finogate Platform API v1
  version: 0.1.0
servers:
  - url: https://api-sandbox.finogates.com
    description: Sandbox
  - url: https://api.finogates.com
    description: Production
security: []
tags:
  - name: auth
  - name: users
  - name: payees
  - name: verification
  - name: bank accounts
  - name: card processing
  - name: digital-assets
  - name: international
  - name: fees
  - name: onboarding
  - name: pending-applications
  - name: wallets
  - name: payments
  - name: document mailing
  - name: merchant onboarding
  - name: catalog
  - name: webhooks
  - name: screening
  - name: Platform - File Scanning
  - name: phone-numbers
  - name: sms
  - name: calls
  - name: listings
  - name: Card Transfers
  - name: embed-tokens
paths:
  /v1/platform/phone-numbers/{phone_number_id}/messaging-services:
    post:
      tags:
        - phone-numbers
      summary: Link a Phone Number to a Messaging Service
      description: >-
        Ask to link one of your phone numbers to a business (A2P) messaging

        service.


        The request goes to Finogate's team, who register the service with the

        messaging provider and approve it. Once approved, messages sent from
        this

        number go out through the registered service.
      operationId: >-
        request_messaging_service_v1_platform_phone_numbers__phone_number_id__messaging_services_post
      parameters:
        - name: phone_number_id
          in: path
          required: true
          schema:
            type: string
            title: Phone Number Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PhoneNumberMessagingServiceCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - _AuthenticatedBearer: []
components:
  schemas:
    PhoneNumberMessagingServiceCreate:
      properties:
        messaging_service_id:
          type: string
          format: uuid
          title: Messaging Service Id
      type: object
      required:
        - messaging_service_id
      title: PhoneNumberMessagingServiceCreate
      description: Request linking a phone number to a catalog messaging service.
    CommonResponse:
      properties:
        status_code:
          type: integer
          title: Status Code
          description: HTTP status code for the response.
        data:
          title: Data
          description: Payload or error details.
        query_generated_time:
          type: integer
          title: Query Generated Time
          description: >-
            UTC timestamp (milliseconds since epoch) when response was
            generated.
      type: object
      required:
        - status_code
        - data
        - query_generated_time
      title: CommonResponse
      description: |-
        Standard response wrapper for single-object responses and errors.

        Generic over the payload type. A route that declares
        ``CommonResponse[SomeModel]`` gets the real ``data`` schema rendered in
        OpenAPI/Swagger; a bare ``CommonResponse`` leaves ``data`` untyped.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    _AuthenticatedBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /v1/platform/auth/token

````