Kudosity Senders API

The Senders API from Kudosity — 4 operation(s) for senders.

Operations 5

GET /v2/senders/registrations List sender registrations
POST /v2/senders/registrations Create a sender registration
DELETE /v2/senders/phone-numbers/{phone_number} Delete a sender by phone number
POST /v2/senders/registrations/{registration_id}/verifications Request a verification code
POST /v2/senders/registrations/{registration_id}/verifications/confirmation Confirm a verification code

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kudosity-senders-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kudosity-senders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Transmit Message Senders API
  description: Transmit APIs
  version: '20250101'
  x-go-package: github.com/oapi-codegen/runtime
servers:
- url: https://api.transmitmessage.com
security:
- ApiKeyAuth: []
tags:
- name: Senders
paths:
  /v2/senders/registrations:
    get:
      tags:
      - Senders
      summary: List sender registrations
      security:
      - ApiKeyAuth: []
      description: "Returns a paginated list of sender registrations for the authenticated account.\n\n  - If the account does not use parent/child accounts, the API returns registrations for the authenticated account.\n  - If the account is a parent account, the API returns registrations for the parent account and all child accounts.\n"
      parameters:
      - name: page
        in: query
        required: false
        description: Page number to return (1-based). Default 1.
        schema:
          type: integer
          minimum: 1
          default: 1
          x-go-type-skip-optional-pointer: true
        example: 1
      - name: limit
        in: query
        required: false
        description: Maximum number of results per page. Default 25, maximum 100.
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 25
          x-go-type-skip-optional-pointer: true
        example: 25
      - name: child_account_id
        in: query
        required: false
        description: Filter registrations by child account ID. Returns only registrations belonging to the specified child account.
        schema:
          type: string
          x-go-type-skip-optional-pointer: true
        example: '1234'
      - name: sender
        in: query
        required: false
        description: Filter registrations by sender phone number in E.164 format (e.g., 61412312312).
        schema:
          type: string
          x-go-type-skip-optional-pointer: true
        example: '61412312312'
      - name: status
        in: query
        required: false
        description: 'Filter registrations by status. Accepts one or more comma-separated values. Valid values: PENDING_APPROVAL, VERIFIED, REJECTED, CANCELLED.

          '
        schema:
          type: string
          x-go-type-skip-optional-pointer: true
        example: VERIFIED
      responses:
        '200':
          $ref: '#/components/responses/ListSenderRegistrationsSuccessResponse'
        '400':
          $ref: '#/components/responses/InputValidationResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
    post:
      tags:
      - Senders
      summary: Create a sender registration
      security:
      - ApiKeyAuth: []
      description: "Creates a sender registration and sets `status` to `PENDING_APPROVAL`.\n\n  - If the account does not use parent/child accounts, the API ignores `child_account_id` and registers the sender for the authenticated account.\n  - If the account is a parent account and you omit `child_account_id`, the API registers the sender for the parent account.\n  - If you provide `child_account_id`, the API registers the sender for that child account.\n  - If a registration for the same sender was already created within the last 30 minutes (for the same account or child account), the API returns `429 Too Many Requests`. This prevents abuse of the verification retry limit.\n  - Any existing `PENDING_APPROVAL` registration for the same sender (for the same account or child account) is automatically cancelled before the new one is created.\n"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SenderRegistrationRequest'
            example:
              sender: '61412312312'
              country: AU
              type: PERSONAL_MOBILE_NUMBER
              child_account_id: '1234'
      responses:
        '201':
          $ref: '#/components/responses/SenderRegistrationSuccessResponse'
        '400':
          $ref: '#/components/responses/InputValidationResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '409':
          $ref: '#/components/responses/ConflictErrorResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsErrorResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v2/senders/phone-numbers/{phone_number}:
    delete:
      tags:
      - Senders
      summary: Delete a sender by phone number
      security:
      - ApiKeyAuth: []
      description: "Deletes a sender phone number from the account.\n\n  - If the account does not use parent/child accounts, the API ignores `child_account_id` and deletes the sender from the authenticated account.\n  - If the account is a parent account and you omit `child_account_id`, the API deletes the sender from the parent account.\n  - If you provide `child_account_id`, the API deletes the sender from that child account.\n"
      parameters:
      - name: phone_number
        in: path
        required: true
        description: The phone number to delete in E.164 international format, for example 61412312312.
        schema:
          type: string
        example: '61412312312'
      - name: child_account_id
        in: query
        required: false
        description: Child account ID to delete the sender from. Ignored for accounts without parent/child accounts. If omitted for a parent account, the API deletes the sender from the parent account.
        schema:
          type: string
        example: '456'
      responses:
        '204':
          $ref: '#/components/responses/SenderDeleteNoContentResponse'
        '400':
          $ref: '#/components/responses/InputValidationResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/NotFoundErrorResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v2/senders/registrations/{registration_id}/verifications:
    post:
      tags:
      - Senders
      summary: Request a verification code
      security:
      - ApiKeyAuth: []
      description: "Requests a verification code for a sender registration. This endpoint supports registrations with `type` = `PERSONAL_MOBILE_NUMBER` only.\n\n  - The API delivers the code to the registered sender number using the selected `method`, such as `SMS`.\n  - Codes expire after 30 minutes.\n  - You have a maximum of 5 attempts to confirm the code.\n"
      parameters:
      - name: registration_id
        in: path
        required: true
        description: Unique identifier for the sender registration.
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerificationRequest'
            example:
              method: SMS
              originating_sender: '61400000000'
      responses:
        '201':
          $ref: '#/components/responses/VerificationSuccessResponse'
        '400':
          $ref: '#/components/responses/InputValidationResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/NotFoundErrorResponse'
        '409':
          description: A verification already exists for this registration. Create a new sender registration to request a new code.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/CommonErrorResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/ConflictProblem'
              example:
                error:
                  detail: a verification code has already been sent for this registration; wait 30 minutes and create a new sender registration to request a new code
                  status: 409
                  title: Conflict
                  type: https://developers.kudosity.com/reference/errors#conflict
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v2/senders/registrations/{registration_id}/verifications/confirmation:
    post:
      tags:
      - Senders
      summary: Confirm a verification code
      security:
      - ApiKeyAuth: []
      description: 'Confirms a sender registration by submitting the verification code.

        On success, the verification `status` becomes `CONFIRMED` and the sender registration `status` becomes `VERIFIED`.

        If you exceed the allowed attempts, the verification becomes `FAILED`. Request a new verification code to try again.

        '
      parameters:
      - name: registration_id
        in: path
        required: true
        description: Unique identifier of the sender registration.
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerificationConfirmRequest'
            example:
              code: '123456'
      responses:
        '200':
          $ref: '#/components/responses/VerificationConfirmationSuccessResponse'
        '400':
          $ref: '#/components/responses/VerificationConfirmationInputValidationResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/NotFoundErrorResponse'
        '409':
          $ref: '#/components/responses/ConflictErrorResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsErrorResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
components:
  responses:
    ConflictErrorResponse:
      description: Conflict
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/CommonErrorResponse'
            - type: object
              properties:
                error:
                  $ref: '#/components/schemas/ConflictProblem'
    InternalServerErrorResponse:
      description: Internal Server Error
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/CommonErrorResponse'
            - type: object
              properties:
                error:
                  $ref: '#/components/schemas/InternalServerErrorProblem'
    SenderDeleteNoContentResponse:
      description: Sender deleted successfully. No content is returned.
    NotFoundErrorResponse:
      description: Not Found
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/CommonErrorResponse'
            - type: object
              properties:
                error:
                  $ref: '#/components/schemas/NotFoundProblem'
    ListSenderRegistrationsSuccessResponse:
      description: Successful response containing a paginated list of sender registrations.
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/CommonSuccessResponse'
            - type: object
              required:
              - data
              - meta
              properties:
                data:
                  $ref: '#/components/schemas/ListSenderRegistrationsResponse'
                meta:
                  type: object
                  required:
                  - pagination
                  properties:
                    pagination:
                      $ref: '#/components/schemas/PagePaginationMeta'
          example:
            data:
              registrations:
              - registration_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                sender: '61412312312'
                country: AU
                type: PERSONAL_MOBILE_NUMBER
                status: VERIFIED
                created_at: '2025-08-26T10:30:00Z'
                updated_at: '2025-08-26T10:32:00Z'
              - registration_id: b2c3d4e5-f6a7-8901-bcde-f12345678901
                sender: '61498765432'
                country: AU
                type: PERSONAL_MOBILE_NUMBER
                status: PENDING_APPROVAL
                child_account_id: '1234'
                created_at: '2025-09-01T14:00:00Z'
                updated_at: '2025-09-01T14:00:00Z'
            meta:
              pagination:
                type: page
                page: 1
                limit: 25
                total_count: 2
    TooManyRequestsErrorResponse:
      description: Too Many Requests
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/CommonErrorResponse'
            - type: object
              properties:
                error:
                  $ref: '#/components/schemas/TooManyRequestsProblem'
    InputValidationResponse:
      description: Input Validation Error
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/CommonErrorResponse'
            - type: object
              properties:
                error:
                  $ref: '#/components/schemas/InputValidationProblem'
    VerificationConfirmationSuccessResponse:
      description: Successful response containing the verification confirmation details.
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/CommonSuccessResponse'
            - type: object
              properties:
                data:
                  $ref: '#/components/schemas/VerificationConfirmation'
          example:
            data:
              registration_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
              status: CONFIRMED
              verified_at: '2025-08-26T10:32:00Z'
    UnauthorizedErrorResponse:
      description: Unauthorized
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/CommonErrorResponse'
            - type: object
              properties:
                error:
                  $ref: '#/components/schemas/UnauthorizedProblem'
    VerificationSuccessResponse:
      description: Successful response containing the verification details.
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/CommonSuccessResponse'
            - type: object
              properties:
                data:
                  $ref: '#/components/schemas/Verification'
          example:
            data:
              registration_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
              method: SMS
              originating_sender: '61400000000'
              status: SENT
              expires_at: '2025-08-26T10:35:00Z'
              attempts_remaining: 5
    VerificationConfirmationInputValidationResponse:
      description: '400 response specific to the verification confirmation endpoint. The response includes

        `attempts_remaining` as a structured integer field alongside the standard `detail` and

        `issues` fields, so clients can display the remaining attempt count without string parsing.

        '
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                $ref: '#/components/schemas/VerificationConfirmationInputValidationProblem'
          example:
            error:
              type: https://developers.kudosity.com/reference/errors#input-validation
              title: Invalid Request
              detail: Request validation failed
              status: 400
              issues:
              - name: code
                message: invalid verification code, you have 4 attempts remaining
              attempts_remaining: 4
    SenderRegistrationSuccessResponse:
      description: Successful response containing the new sender registration details.
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/CommonSuccessResponse'
            - type: object
              properties:
                data:
                  $ref: '#/components/schemas/SenderRegistration'
          example:
            data:
              registration_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
              sender: '61412312312'
              country: AU
              type: PERSONAL_MOBILE_NUMBER
              status: PENDING_APPROVAL
              created_at: '2025-08-26T10:30:00Z'
              updated_at: '2025-08-26T10:30:00Z'
  schemas:
    SenderRegistrationStatus:
      type: string
      description: "Status of a sender registration. The same coarse set of statuses applies to every\nregistration `type`:\n- `PERSONAL_MOBILE_NUMBER` — `PENDING_APPROVAL`, `VERIFIED`, `REJECTED`, `CANCELLED`.\n- `ALPHANUMERIC` — `PENDING_APPROVAL`, `VERIFIED`, `REJECTED`. The finer alpha\n  registry lifecycle is surfaced separately and is not part of this coarse enum.\n"
      enum:
      - PENDING_APPROVAL
      - VERIFIED
      - REJECTED
      - CANCELLED
    CommonErrorResponse:
      allOf:
      - type: object
        properties:
          error:
            $ref: '#/components/schemas/ProblemDetails'
        required:
        - error
      - $ref: '#/components/schemas/CommonResponseMeta'
    VerificationStatus:
      type: string
      description: Status of a sender registration verification.
      enum:
      - SENT
      - CONFIRMED
      - EXPIRED
      - FAILED
    ProblemDetails:
      description: 'A Problem Details object (RFC 9457).


        Additional properties specific to the problem type may be present.

        '
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Uri'
        title:
          type: string
          description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem
        status:
          type: integer
          description: The HTTP status code corresponding to this error.
      required:
      - type
      - title
      - detail
      - status
      example:
        type: https://developers.kudosity.com/reference/errors
        title: Description of the type of problem that occurred
        detail: Description of specific occurrence of the problem
        status: 400
    Uri:
      type: string
      description: string providing an URI formatted according to IETF RFC 3986.
      format: uri
    SenderRegistrationDetails:
      type: object
      description: 'Type-specific details for a sender registration. The populated sub-object matches the

        registration `type` — for an `ALPHANUMERIC` registration, `alphanumeric` is present.

        '
      properties:
        alphanumeric:
          $ref: '#/components/schemas/AlphanumericDetails'
    SenderRegistration:
      type: object
      description: A sender registration record.
      properties:
        registration_id:
          type: string
          format: uuid
          description: Unique identifier for the registration.
        sender:
          type: string
          description: The registered sender number.
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code for the sender.
        type:
          $ref: '#/components/schemas/SenderRegistrationType'
        status:
          $ref: '#/components/schemas/SenderRegistrationStatus'
        created_at:
          type: string
          format: date-time
          description: Timestamp in RFC3339 format (e.g., 2025-08-26T10:30:00Z) when the registration was created.
        child_account_id:
          type: string
          description: Child account ID the sender is registered for. Only present for registrations created under a child account.
          x-oapi-codegen-extra-tags:
            json: child_account_id,omitempty
        updated_at:
          type: string
          format: date-time
          description: Timestamp in RFC3339 format (e.g., 2025-08-26T10:32:00Z) when the registration was last updated.
        details:
          allOf:
          - $ref: '#/components/schemas/SenderRegistrationDetails'
          description: 'Type-specific details for the registration. Present only for registration types

            that carry extra fields — for an `ALPHANUMERIC` registration, `details.alphanumeric`

            is populated. Omitted for `PERSONAL_MOBILE_NUMBER`.

            '
          x-oapi-codegen-extra-tags:
            json: details,omitempty
      required:
      - registration_id
      - sender
      - country
      - type
      - status
      - created_at
      - updated_at
    VerificationConfirmationInputValidationProblem:
      description: 'Input-validation problem (RFC 9457) specific to the verification confirmation endpoint.

        Extends the standard `InputValidationProblem` with a structured `attempts_remaining` field,

        so clients can display the remaining attempt count without string parsing.

        '
      type: object
      properties:
        type:
          type: string
          description: A URI that identifies the problem type.
        title:
          type: string
          description: A short summary of the problem type.
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem.
        status:
          type: integer
          description: The HTTP status code.
        issues:
          type: array
          description: An array of issues detected during input validation.
          x-go-type-skip-optional-pointer: true
          items:
            $ref: '#/components/schemas/InputValidationIssue'
        attempts_remaining:
          type: integer
          description: Number of remaining attempts after this failed attempt.
      required:
      - type
      - title
      - detail
      - status
      - attempts_remaining
    SenderRegistrationRequest:
      type: object
      description: Request body for creating a sender registration.
      properties:
        sender:
          type: string
          description: The sender number to register, for example a phone number.
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code for the sender, for example AU.
          minLength: 2
          maxLength: 2
          pattern: ^[A-Z]{2}$
        type:
          $ref: '#/components/schemas/SenderRegistrationRequestType'
        child_account_id:
          type: string
          description: 'Child account ID to register the sender for. Ignored for accounts without parent/child accounts. If omitted for a parent account, the API registers the sender for the parent account.

            '
      required:
      - sender
      - country
      - type
    TooManyRequestsProblem:
      description: 'HTTP 429 Too Many Requests - Rate limit exceeded.


        Your client application has sent too many requests in a given amount of time and should retry later.

        '
      type: object
      allOf:
      - $ref: '#/components/schemas/ProblemDetails'
      example:
        type: https://developers.kudosity.com/reference/errors#too-many-requests
        title: Too Many Requests
        detail: Rate limit exceeded
        status: 429
    AlphanumericDetails:
      type: object
      description: Details specific to an alphanumeric (alpha) sender registration.
      properties:
        registry:
          $ref: '#/components/schemas/Registry'
        status:
          $ref: '#/components/schemas/AlphanumericStatus'
        status_reason:
          type: string
          description: 'Optional human-readable reason for the current `status` (verbatim registry status

            description), suitable for tooltips. May be absent or blank.

            '
          example: Customer has not taken any actions
      required:
      - registry
    VerificationConfirmation:
      type: object
      description: The result of a successful verification code confirmation.
      properties:
        registration_id:
          type: string
          format: uuid
          description: The registration this verification belongs to.
        status:
          $ref: '#/components/schemas/VerificationStatus'
        verified_at:
          type: string
          format: date-time
          description: Timestamp in RFC3339 format (e.g., 2025-08-26T10:32:00Z) when the verification was confirmed.
      required:
      - registration_id
      - status
      - verified_at
    AlphanumericStatus:
      type: string
      description: 'Fine-grained registry lifecycle status for an alphanumeric registration — the state the

        customer sees on screen, distinct from the coarse root `status`.


        This enum is **expected to grow** as a registry (e.g. ACMA) introduces new states. The

        server only ever returns a value it has explicitly mapped, and new values are added here

        additively — so **clients must render a graceful fallback for any value they don''t yet

        recognise** rather than treating the set as fixed.


        Value → display label:

        - `NEW` — Initial Review

        - `SUBMITTED_TO_REGISTRY` — Submitted

        - `PENDING_CUSTOMER` — Awaiting Confirmation

        - `PENDING_APPROVAL` — In ACMA Review

        - `VERIFIED` — Provisioning

        - `READY_TO_USE` — Ready to Use

        - `FAILED` — Failed

        - `REVOKED` — Revoked

        - `CANCELLED` — Cancelled

        '
      enum:
      - NEW
      - SUBMITTED_TO_REGISTRY
      - PENDING_CUSTOMER
      - PENDING_APPROVAL
      - VERIFIED
      - READY_TO_USE
      - FAILED
      - REVOKED
      - CANCELLED
      example: PENDING_CUSTOMER
    SenderRegistrationRequestType:
      type: string
      description: 'Type of sender registration that can be created through the public API. Only

        `PERSONAL_MOBILE_NUMBER` is supported here; alpha (`ALPHANUMERIC`) registrations are

        created through the registration backoffice and are read-only on this API.

        '
      enum:
      - PERSONAL_MOBILE_NUMBER
    Registry:
      type: string
      description: 'The registry body an alphanumeric sender registration is submitted to.

        - `ACMA` — Australian Communications and Media Authority.

        '
      enum:
      - ACMA
    InternalServerErrorProblem:
      description: 'This problem occurs when the server encounters an unexpected condition that prevents it from fulfilling the request.


        Your client application did everything correct. Unfortunately our API encountered a condition that resulted in this problem.

        '
      type: object
      allOf:
      - $ref: '#/components/schemas/ProblemDetails'
      example:
        type: https://developers.kudosity.com/reference/errors#server-error
        title: Server Error
        detail: The server encountered an unexpected error
        status: 500
    SenderRegistrationType:
      type: string
      description: "Type of a sender registration record (as returned by the API).\n- `PERSONAL_MOBILE_NUMBER` — a personal mobile number registered as a sender.\n- `ALPHANUMERIC` — an alphanumeric (alpha) sender ID. Type-specific fields are\n  returned under `details.alphanumeric`. Alpha registrations are created through\n  the registration backoffice, not this public API.\n"
      enum:
      - PERSONAL_MOBILE_NUMBER
      - ALPHANUMERIC
    InputValidationProblem:
      description: 'This problem occurs when the request is deemed unprocessable.


        Your client issued a request that failed validation. Certain validation libraries return multi-errors and cannot be easily parsed into discreet types. This problem type, afforded the provider with the ability to surface all validation errors and negate the need for a trial and error workflow on your side.

        '
      type: object
      allOf:
      - $ref: '#/components/schemas/ProblemDetails'
      - properties:
          issues:
            description: An array of issues detected during input validation.
            type: array
            x-go-type-skip-optional-pointer: true
            items:
              $ref: '#/components/schemas/InputValidationIssue'
      example:
        type: https://developers.kudosity.com/reference/errors#input-validation
        title: Invalid Request
        detail: Request validation failed
        status: 400
        issues:
        - name: field_name
          message: field_name is required
    InputValidationIssue:
      type: object
      description: 'An issue detected during input validation.

        '
      properties:
        name:
          type: string
          description: The name of the param or field that failed validation.
          x-go-type-skip-optional-pointer: true
        code:
          type: integer
          description: The internal api specific error code.
          x-go-type-skip-optional-pointer: true
        message:
          description: The error message
          type: string
          x-go-type-skip-optional-pointer: true
    PagePaginationMeta:
      title: Page Pagination Metadata
      description: 'Pagination metadata for page-based pagination.

        Reusable across all paginated API endpoints that use page/limit pagination.

        '
      type: object
      required:
      - type
      - page
      - limit
      - total_count
      properties:
        type:
          type: string
          description: The pagination strategy being used.
          enum:
          - page
          example: page
          x-oapi-codegen-extra-tags:
            valid: required
        page:
          type: integer
          description: The current page number (1-based).
          example: 1
          x-oapi-codegen-extra-tags:
            valid: required
        limit:
          type: integer
          description: The maximum number of results per page.
          example: 25
          x-oapi-codegen-extra-tags:
            valid: required
        total_count:
          type: integer
          description: The total number of results across all pages.
          example: 123
          x-oapi-codegen-extra-tags:
            valid: required
    Verification:
      type: object
      description: A verification record for a sender registration.
      properties:
        registration_id:
          type: string
          format: uuid
          description: The registration this verification belongs to.
        method:
          $ref: '#/components/schemas/VerificationMethod'
        originating_sender:
          type: string
          description: The sender number used to deliver the verification code.
        status:
          $ref: '#/components/schemas/VerificationStatus'
        expires_at:
          type: string
          format: date-time
          description: Timestamp in RFC3339 format (e.g., 2025-08-26T10:35:00Z) when the verification code expires.
        attempts_remaining:
          type: integer
          description: Number of remaining attempts to submit the verification code.
      required:
      - registration_id
      - method
      - originating_sender
      - status
      - expires_at
      - attempts_remaining
    VerificationRequest:
      type: object
      description: Request body for requesting a verification code.
      properties:
        method:
          $ref: '#/components/schemas/VerificationMethod'
        originating_sender:
          type: string
          description: Verified sender owned by the account that the API uses to send the verification code.
      required:
      - method
      - originating_sender
    CommonResponseMeta:
      type: object
      properties:
        request:
          type: object
          description: Optional metadata (e.g. requestId, traceId)
        meta:
          type: object
          description: Optional pagination, feature flags, etc.
    VerificationConfirmRequest:
      type: object
      description: Request body for confirming a verification code.
      properties:
        code:
          type: string
          description: The verification code received via the selected verification

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kudosity/refs/heads/main/openapi/kudosity-senders-api-openapi.yml