Port-Ins

Validate port-in data

Validates port-in data against provider requirements without creating a port-in. Use this endpoint to check whether the submitted fields, phone number, and execution date would pass provider validation before committing to a port-in submission.

The executionDate must be one of the type's executionDate.dates from GET /v1/port-ins/fields/{countryCode}, which hold until its validUntil. The date is checked once everything else passes: a date outside them is then refused with 400 BAD_REQUEST, not valid: false.

This is a dry-run operation — no resources are created or modified.

post/v1/port-ins/validate

Request

  • Base URL
    https://api.telgea.com
  • Auth
    API key in header x-api-key

Headers

idempotency-keystring

A value unique to this request, of 1 to 255 printable ASCII characters — a UUID is the usual choice. Retry with the same key within 24 hours and you get the original response back, even if it was a failure, and nothing is done twice. Send a new key whenever you change the request. Keys are private to your API key and organisation.

Example:0b7e4f1c-6a2d-4c9e-8f35-d1a7b2c93e60

Request body

countryCodestring required

ISO 3166-1 alpha-2 country code

typestring required

Port-in type as returned by the fields endpoint (e.g., "personal", "business")

msisdnstring required

Phone number to port in, in E.164 format

executionDatestring date required

Requested porting date in YYYY-MM-DD format. Must be one of the type's executionDate.dates from GET /v1/port-ins/fields/{countryCode}, which hold until its validUntil.

fieldsobject required

Port-in fields as defined by the fields endpoint. Must include authorizationCode.

Example request

{
  "countryCode": "DE",
  "type": "personal",
  "msisdn": "+4915112345678",
  "executionDate": "2027-03-01",
  "fields": {
    "currentCarrier": "CONG",
    "authorizationCode": "1985-04-12",
    "ownerFirstName": "Erika",
    "ownerLastName": "Mustermann",
    "isUnlocked": true
  }
}

Response

Validation completed. Check the valid field to determine if the data passed. If valid is false, the errors array contains details: each error names its field and carries a stable code to branch on.

validboolean required

Whether the port-in data passed validation

Example response

{
  "valid": true,
  "errors": [
    {
      "message": "A PAC is 3 letters, then 6 digits (e.g. ABC123456). 6 digits then 3 letters is a STAC, not a PAC.",
      "field": "authorizationCode",
      "code": "FORMAT_INVALID"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.