Fortinet: registered assets, support dates, and your renewal list
Fortinet's FortiCloud holds the registration record for every Fortinet unit you have ever registered: the serial, the model, and the date its support entitlement runs out. This connector reads that record and hangs each asset off the matching Current company, so the renewal conversation starts from a list instead of a spreadsheet somebody rebuilt. Current reads Fortinet and can never register, transfer, or retire an asset.
What Current syncs
| Data set | What Current stores | Where it lands |
|---|---|---|
| Partners | One row per FortiCloud grouping Current can see: an asset folder when Fortinet returns one, otherwise the account, otherwise a single bucket holding everything. This is the key you map to a Current company | The mapping panel on the Fortinet card |
| Registered assets | Per serial: the product model, the label you typed in FortiCloud, the registration date, and whether the unit is decommissioned. Every Fortinet product registers here — FortiGate, FortiSwitch, FortiAP, FortiMail, FortiAnalyzer and the rest | The mapped company's network panel and its business reviews |
| Support and entitlement dates | The latest entitlement end date on each unit, the level and type behind that date (for example Unified Threat Protection, FortiCare), and a state of covered, expiring within 60 days, or expired | The company's network panel, the alert band, and the renewal list |
| Contracts | The contract number, the SKU a renewal quote is built from, and the latest contract term end date. Current keeps this separate from the entitlement date because the two disagreeing usually means a renewal was bought and not yet applied | The company's network panel |
| Product-model lifecycle | End of support and end of renewal for the model itself. A unit past end of renewal cannot be renewed at all, only replaced | The company's network panel, as a replacement line rather than a date |
Create the API user in FortiCloud
- 11 · Open the IAM portal and create a permission profileSign in at support.fortinet.com/iam as an administrator and go to Permission Profiles. Create a profile that grants read access to Asset Management. Grant nothing beyond the portals you actually want read: the profile is the only place Fortinet lets you limit what this credential can do, because the token it issues always comes back with write scope attached.
- 22 · Add the API userGo to Users ▸ Add New ▸ API User and pick the profile you just made. Fortinet creates a machine account, so nobody has to stay signed in for the sync to run.
- 33 · Download the credentials onceOn the success screen choose Download Credentials. The downloaded file holds the API key, the password, and the client IDs this user is entitled to. Keep it somewhere your team can reach — you cannot open it again from Fortinet.
- 44 · Paste the three values into CurrentOpen Settings → Integrations → Fortinet. Paste the API key as the username, the password, and the client ID — assetmanagement is the one that reaches asset data. Press Test connection. Current exchanges the three for a short-lived token on every run and never stores a token.
Matching Fortinet groupings to companies
Fortinet has no endpoint that lists your partners. Its multi-tenancy is account- and folder-shaped, so Current works out the roster from the assets that come back: an asset folder when Fortinet returns one, otherwise the account, otherwise a single bucket. Current pairs each grouping with a Current company by normalized name — punctuation and Inc/LLC/Ltd-style suffixes stripped — and pairs only when exactly one company matches. Anything ambiguous waits on the card for you to pick. A mapping you set by hand is never overwritten by a later automatic match, and mapping one attaches its assets within seconds rather than waiting for the next sync.
What the numbers cover
Fortinet's asset search requires a filter: you ask for assets whose support ends before a date, or you ask for one serial. There is no call that returns everything. Current sweeps with a date ten years out, which reaches the whole estate in practice, but a unit carrying no entitlement date at all may not come back at all. So the card counts assets with a known entitlement date rather than claiming a full inventory. A unit Current cannot date shows as "no entitlement date on file": it never counts as covered, never counts as expired, and never raises an alert.
The read-only guarantee
Two Fortinet endpoints exist in this connector's code: the sign-in call that mints a token, and the asset search. Everything else on the FortiCare API — registering a serial, consuming a licence code, downloading licence keys, editing an asset's description or address, managing folders, decommissioning a unit — is absent from the connector, so it cannot be reached by a bug either. The match is exact rather than by prefix, which matters here: the asset search and the register and decommission calls all live under the same path prefix, and a prefix rule would have admitted the writes alongside the read.
Sync schedule and rate limits
Current syncs Fortinet every six hours. Support-contract dates change on human timescales, so there is nothing to gain from running it more often, and Fortinet allows only ten failed calls per hour on an account before it throttles. That budget is why Current never retries a rejected credential: one wrong password retried in a loop would spend the whole hourly allowance in seconds and lock out an account your own admins may also be using. A rejected sign-in stops the run and shows you what Fortinet said.
Troubleshooting
| What you see | What it means | What to do |
|---|---|---|
| Fortinet rejected these credentials (HTTP 400 or 401) | Fortinet answered and refused the sign-in. Three causes, in the order worth checking: the client ID points at a portal this API user cannot reach; the password was reset by a second Download Credentials; or the permission profile no longer covers Asset Management | Check the client ID against the downloaded credentials file (assetmanagement reaches asset data), then re-download the credentials and paste the new password, then check the profile in the IAM portal |
| Fortinet signed Current in but refused the asset list (HTTP 403) | The credential authenticates, but its permission profile does not grant read access to Asset Management — or the client ID belongs to a different portal | Edit the API user's permission profile to include read access to Asset Management, then press Test connection |
| Connected, and no assets | The credential works and the search came back empty. Most often the client ID reaches a portal with no asset data, or the FortiCloud account is provisioned in a region whose assets live in a separate instance | Confirm the client ID first. If your account is EU-provisioned, tell us — the asset service Current calls is documented as a single global host, and a regional one is not published |
| Fortinet is rate-limiting this account (HTTP 429) | Fortinet throttled the request. This says nothing about the credentials | Wait a few minutes and press Test connection again. Current stops rather than retrying, to protect the hourly allowance |
| Couldn't reach Fortinet | No response inside fifteen seconds. Network or a Fortinet outage | Try again shortly. The scheduled sync retries on its own |
| Assets you expected are missing | Either they carry no entitlement date, or they are registered to a FortiCloud account this credential cannot see | Check one serial in the FortiCloud asset portal. If it has no entitlement dates, the search cannot return it. If it sits in another account, that account needs its own API user |
