Configured system

msisdn-repository

MSISDN resource inventory and reservation mock. TMF639 v5 resource listing plus TMF685 v1 reservation create and patch.

msisdn-repository.tmfmock.com

Aliases msisdn msisdns number-inventory

Database-configured Runtime-routed Contract-shaped
System catalogue
Host msisdn-repository.tmfmock.com
Loaded from live configurationDB
3active endpoints
9bound paths
3configured aliases
DBlive configuration
Endpoint index

Endpoints on the wire

Loaded from the same database configuration used to dispatch mock requests.

MethodPrimary routeEndpointStatus
GET msisdn-repository.tmfmock.com/resource list-msisdns 200
POST msisdn-repository.tmfmock.com/reservation reserve-msisdn 201
PATCH msisdn-repository.tmfmock.com/reservation/:reservationId cancel-msisdn-reservation 200
Live configuration

Endpoints and bound rules

Every active method, path, request condition, and response formula currently bound to this system.

Endpoint 01

list-msisdns

TMF639 v5 listResource. Returns a schema-valid array of available LogicalResource MSISDNs honouring query.limit.

Status
200
Priority
0
Paths
3

Bound paths

  • GET msisdn-repository.tmfmock.com/resource
  • GET msisdn-repository.tmfmock.com/tmf639/listResource
  • GET msisdn-repository.tmfmock.com/tmf-api/resourceInventoryManagement/v5/resource

Request conditions

Default

Every request matching a bound method and path uses this rule.

Bound response rule

JSON formula
{
  "body": {
    "$repeat": {
      "max": 100,
      "min": 1,
      "count": {
        "$var": "limit"
      },
      "template": {
        "id": {
          "$random": "uuid"
        },
        "href": {
          "$concat": [
            {
              "$request": "origin"
            },
            "/resource/",
            {
              "$random": "uuid"
            }
          ]
        },
        "name": "MSISDN",
        "@type": "LogicalResource",
        "value": {
          "$random": {
            "type": "msisdn",
            "countryCode": "+48",
            "nationalLength": 9
          }
        },
        "category": "MSISDN",
        "resourceStatus": "available",
        "allocationStatus": "available"
      }
    }
  },
  "status": 200,
  "headers": {
    "Content-Type": "application/json; charset=utf-8"
  },
  "variables": {
    "limit": {
      "$request": {
        "max": 100,
        "min": 1,
        "path": "query.limit",
        "type": "integer",
        "default": 10
      }
    }
  }
}

Endpoint 02

reserve-msisdn

TMF685 v1 createReservation. Echoes the Reservation_Create body back as a TMF685 Reservation in state reserved, with a stable id from Idempotency-Key when supplied.

Status
201
Priority
0
Paths
3

Bound paths

  • POST msisdn-repository.tmfmock.com/reservation
  • POST msisdn-repository.tmfmock.com/tmf685/createReservation
  • POST msisdn-repository.tmfmock.com/tmf-api/resourcePoolManagement/v1/reservation

Request conditions

Default

Every request matching a bound method and path uses this rule.

Bound response rule

JSON formula
{
  "body": {
    "id": {
      "$var": "reservationId"
    },
    "href": {
      "$concat": [
        {
          "$request": "origin"
        },
        "/reservation/",
        {
          "$var": "reservationId"
        }
      ]
    },
    "@type": "resourceItemReservation",
    "validFor": {
      "$request": {
        "path": "body.valid_for",
        "default": {
          "endDateTime": "2026-09-30T00:00:00Z",
          "startDateTime": "2026-08-30T00:00:00Z"
        }
      }
    },
    "description": {
      "$request": {
        "path": "body.description",
        "default": "MSISDN reservation"
      }
    },
    "relatedParty": {
      "id": {
        "$request": {
          "path": "body.relatedParty.id",
          "default": "mock-customer"
        }
      },
      "name": {
        "$request": {
          "path": "body.relatedParty.name",
          "default": "Mock customer"
        }
      },
      "role": {
        "$request": {
          "path": "body.relatedParty.role",
          "default": "Customer"
        }
      },
      "@referredType": "Customer"
    },
    "reservationItem": [
      {
        "@type": "ResourceReservationItem",
        "quantity": 1,
        "subState": "reserved",
        "resourceCapacity": {
          "resourcePool": {
            "id": {
              "$request": {
                "path": "body.reservationItem.0.resourceCapacity.resourcePool.id",
                "default": "mock-msisdn-pool"
              }
            }
          },
          "capacityDemandAmount": "1 ea"
        },
        "appliedCapacityAmount": {
          "resource": [
            {
              "id": {
                "$request": {
                  "path": "body.reservationItem.0.appliedCapacityAmount.resource.0.id",
                  "default": {
                    "$random": {
                      "type": "msisdn",
                      "countryCode": "+48",
                      "nationalLength": 9
                    }
                  }
                }
              },
              "name": {
                "$request": {
                  "path": "body.reservationItem.0.appliedCapacityAmount.resource.0.name",
                  "default": "MSISDN"
                }
              },
              "type": "MSISDN"
            }
          ]
        }
      }
    ],
    "reservationState": "reserved",
    "productOfferingRef": {
      "id": {
        "$request": {
          "path": "body.productOfferingRef.id",
          "default": "mock-offering"
        }
      },
      "name": {
        "$request": {
          "path": "body.productOfferingRef.name",
          "default": "Mock offering"
        }
      }
    }
  },
  "status": 201,
  "headers": {
    "Location": {
      "$concat": [
        {
          "$request": "origin"
        },
        "/reservation/",
        {
          "$var": "reservationId"
        }
      ]
    },
    "Content-Type": "application/json; charset=utf-8"
  },
  "variables": {
    "reservationId": {
      "$request": {
        "path": "headers.idempotency-key",
        "default": {
          "$random": "uuid"
        }
      }
    }
  }
}

Endpoint 03

cancel-msisdn-reservation

TMF685 v1 patchReservation. Returns the reservation with reservationState echoed from the request body, defaulting to cancelled.

Status
200
Priority
0
Paths
3

Bound paths

  • PATCH msisdn-repository.tmfmock.com/reservation/:reservationId
  • PATCH msisdn-repository.tmfmock.com/tmf685/patchReservation/:reservationId
  • PATCH msisdn-repository.tmfmock.com/tmf-api/resourcePoolManagement/v1/reservation/:reservationId

Request conditions

Default

Every request matching a bound method and path uses this rule.

Bound response rule

JSON formula
{
  "body": {
    "id": {
      "$var": "reservationId"
    },
    "href": {
      "$concat": [
        {
          "$request": "origin"
        },
        "/reservation/",
        {
          "$var": "reservationId"
        }
      ]
    },
    "@type": "resourceItemReservation",
    "description": {
      "$request": {
        "path": "body.description",
        "default": "MSISDN reservation"
      }
    },
    "relatedParty": {
      "id": {
        "$request": {
          "path": "body.relatedParty.id",
          "default": "mock-customer"
        }
      },
      "name": {
        "$request": {
          "path": "body.relatedParty.name",
          "default": "Mock customer"
        }
      },
      "role": "Customer",
      "@referredType": "Customer"
    },
    "reservationItem": [
      {
        "@type": "ResourceReservationItem",
        "quantity": 1,
        "subState": {
          "$var": "state"
        },
        "resourceCapacity": {
          "resourcePool": {
            "id": {
              "$request": {
                "path": "body.reservationItem.0.resourceCapacity.resourcePool.id",
                "default": "mock-msisdn-pool"
              }
            }
          },
          "capacityDemandAmount": "1 ea"
        },
        "appliedCapacityAmount": {
          "resource": [
            {
              "id": {
                "$request": {
                  "path": "body.reservationItem.0.appliedCapacityAmount.resource.0.id",
                  "default": {
                    "$random": {
                      "type": "msisdn",
                      "countryCode": "+48",
                      "nationalLength": 9
                    }
                  }
                }
              },
              "name": "MSISDN",
              "type": "MSISDN"
            }
          ]
        }
      }
    ],
    "reservationState": {
      "$var": "state"
    }
  },
  "status": 200,
  "headers": {
    "Content-Type": "application/json; charset=utf-8"
  },
  "variables": {
    "state": {
      "$request": {
        "path": "body.reservationState",
        "default": "cancelled"
      }
    },
    "reservationId": {
      "$request": {
        "path": "params.reservationId",
        "default": "mock-reservation"
      }
    }
  }
}
Incoming traffic

Requests and responses

Waiting for traffic

No requests captured yet.