1. Overview
The Netwalk Website API provides secure, structured access to data stored in Netwalk, allowing agencies to connect their public websites directly to the platform.
Through this API, developers can:
- 
Retrieve lists of models or talents. 
- 
Access detailed model data, including measurements and portfolios. 
- 
Build dynamic navigation menus and divisions. 
- 
Display data that automatically updates from Netwalk. 
This ensures that each agency’s website remains synchronized with the information managed in Netwalk, eliminating the need for manual updates.
 
2. Authentication
Each client receives a Tenant Code, Website Code, and API Key.
These values must be included in every request as query parameters.
| Parameter | Description | Example | 
| TenantCode | Unique tenant identifier | {TenantCode} | 
| WebsiteCode | Identifier for the website configuration | {WebsiteCode} | 
| ApiKey | Secure API access key | {ApiKey} | 
 
Example Request
curl -X GET \
  'https://nw4-websiteapi.netwalk.app/api/v1/websites/structure?TenantCode={TenantCode}&WebsiteCode={WebsiteCode}&ApiKey={ApiKey}' \
  -H 'accept: application/json'
 
Important:
Do not expose the ApiKey in client-side JavaScript or public web pages. If your website is built in React, Next.js, or another client framework, use a server-side proxy to perform API calls securely.
 
3. Endpoints Overview
 
| Endpoint | Method | Description | 
| /api/v1/websites/structure | GET | Returns the navigation structure of the website | 
| /api/v1/models/list | GET | Lists all models belonging to one or more divisions | 
| /api/v1/models | GET | Returns detailed data for a single model | 
 
4. /api/v1/websites/structure
Description
Returns the navigational structure of the website, including menu sections and divisions configured in Netwalk.
This defines how models and categories appear on the agency’s site.
Example Request
curl -X GET \
  'https://nw4-websiteapi.netwalk.app/api/v1/websites/structure?TenantCode={TenantCode}&WebsiteCode={WebsiteCode}&ApiKey={ApiKey}' \
  -H 'accept: application/json'
 
Example Response
{
  "Data": {
    "nav": [
      {
        "name": "models",
        "type": "parent",
        "code": "mod",
        "showChildren": true,
        "subNav": [
          { "name": "Women", "type": "list", "code": "WOM" },
          { "name": "Men", "type": "list", "code": "MEN" },
          { "name": "Curves", "type": "parent", "code": "CUR", "subNav": [
            { "name": "Male", "type": "list", "code": "MAL" },
            { "name": "Female", "type": "list", "code": "FEM" }
          ]}
        ]
      }
    ]
  },
  "Errors": null
}
 
Notes
- 
Each node can be either parent (with children) or list (endpoint for models). 
- 
showChildren controls menu visibility for subcategories. 
- 
The structure reflects the live configuration of the agency inside Netwalk. 
 
5. /api/v1/models/list
Description
Returns the list of public models for a given division (for example, Women or Men). Each record includes general details, features (measurements), and cover images.
Example Request
curl -X GET \
  'https://nw4-websiteapi.netwalk.app/api/v1/models/list?TenantCode={TenantCode}&WebsiteCode={WebsiteCode}&ApiKey={ApiKey}&DivisionCodes=WOM' \
  -H 'accept: application/json'
 
Example Response (simplified)
{
  "Items": [
    {
      "ID": 9,
      "ModelCode": "MOD9",
      "FullName": "Adriana K",
      "Nationality": "Sweden",
      "InTown": true,
      "Gender": "Female",
      "FeatureSets": [
        {
          "Name": "MODELS",
          "Features": [
            { "Name": "Height", "Values": [ {"metric": "cm", "value": "177"} ] },
            { "Name": "Hair", "Values": [ {"value": "Brown"} ] },
            { "Name": "Eyes Color", "Values": [ {"value": "Blue-Green"} ] }
          ]
        }
      ],
      "Playlists": [
        {
          "ID": 283,
          "CoverUrl": "https://cdn.netwalk.app/uploads/models/adriana_k_cover.jpg",
          "Divisions": [{ "Name": "WOM", "Role": "Portfolio" }]
        }
      ],
      "Tags": ["PEOPLE", "SHOWROOM"]
    }
  ],
  "Paging": { "Offset": 0, "Limit": 0, "TotalCount": 2 }
}
 
Parameters
 
| Name | Type | Required | Description | 
| TenantCode | string | Yes | Tenant identifier | 
| WebsiteCode | string | Yes | Website configuration code | 
| ApiKey | string | Yes | API key | 
| DivisionCodes | string | Yes | Comma-separated list of division codes | 
 
Notes
- 
The response includes basic model information and feature sets. 
- 
Each model may include multiple Playlists and optional Tags. 
- 
Use the Paging object to implement infinite scrolling or pagination. 
 
6. /api/v1/models
Description
Retrieves detailed profile data for a single model, including all portfolios, features, and media assets. This endpoint is used for individual model pages.
Example Request
curl -X GET \
  'https://nw4-websiteapi.netwalk.app/api/v1/models?TenantCode={TenantCode}&WebsiteCode={WebsiteCode}&ApiKey={ApiKey}&DivisionCode=WOM&ModelID=9' \
  -H 'accept: application/json'
 
Example Response (simplified)
{
  "Data": {
    "ID": 9,
    "ModelCode": "MOD9",
    "FullName": "Adriana K",
    "Nationality": "Sweden",
    "Gender": "Female",
    "FeatureSets": [
      {
        "Name": "MODELS",
        "Features": [
          { "Name": "Height", "Values": [ {"metric": "cm", "value": "177"} ] },
          { "Name": "Waist", "Values": [ {"metric": "cm", "value": "55"} ] },
          { "Name": "Hips", "Values": [ {"metric": "cm", "value": "88"} ] }
        ]
      }
    ],
    "Playlists": [
      {
        "Role": "Portfolio",
        "Name": "Main Portfolio",
        "Layout": "Pages",
        "CoverUrl": "https://cdn.netwalk.app/uploads/models/adriana_k_portfolio_cover.jpg",
        "Documents": [
          {
            "Type": "Photo",
            "Thumbnail": { "Url": "..._t.jpg", "Width": 267, "Height": 400 },
            "Standard": { "Url": "...jpg", "Width": 667, "Height": 1000 },
            "HD": { "Url": "..._hd.jpg", "Width": 1024, "Height": 1536 }
          }
        ]
      }
    ],
    "Socials": [
      { "Type": "Instagram", "Url": "netwalk_sw", "Followers": 0 }
    ],
    "Tags": ["PEOPLE", "SHOWROOM"]
  }
}
 
Key Objects
FeatureSets – Groups physical and descriptive features of the model.
Playlists – Contains portfolios or galleries, each with multiple image resolutions.
Socials – Lists social media profiles connected to the model.
 
7. Best Practices
- 
Never expose your API key client-side. 
- 
Cache results for 30–60 minutes to improve performance. 
- 
Use lazy loading for image galleries. 
- 
Always check the Errors field in responses. 
- 
Handle empty FeatureSets gracefully. 
- 
Implement pagination using the Paging object. 
 
8. Integration Flow
- 
Fetch the site structure from /api/v1/websites/structure. 
- 
Build the menu and navigation dynamically. 
- 
List models by division using /api/v1/models/list. 
- 
Load detailed data with /api/v1/models. 
- 
Display measurements, images, and social links on the page. 
 
9. WordPress Integration
For WordPress-based websites, the integration with the Netwalk API can be achieved easily by using existing plugins that perform HTTP GET requests to external JSON endpoints.
Basic Setup
- 
In the plugin configuration, define the desired API endpoint, for example: 
https://nw4-websiteapi.netwalk.app/api/v1/models/list?TenantCode={TenantCode}&WebsiteCode={WebsiteCode}&ApiKey={ApiKey}&DivisionCodes=WOM
- 
Map the returned JSON fields (e.g., FullName, Playlists[0].CoverUrl) to display them in your page or shortcode template. 
- 
Enable caching in the plugin, if available, to minimize repeated requests. 
Notes
- 
The TenantCode, WebsiteCode, and ApiKey are unique to each agency and must be treated as confidential information. 
- 
The Netwalk API returns ready-to-use JSON and CDN image URLs, allowing model listings and detail pages to be built quickly. 
- 
This approach does not require any custom backend development and can be managed entirely through WordPress’ admin interface. 
 
10. Support
For API credentials and technical support: support@gapmultimedia.eu