Openbare REST API
Maak cside-teams en registreer of verwijder beheerde domeinen vanuit uw backend met de Enterprise REST API.
Gebruik de openbare REST API van cside om teams en beheerde domeinen in te richten vanuit een backendworkflow. De API gebruikt JSON via HTTPS en een bearertoken op organisatieniveau.
Gebruik de interactieve API-referentie om de huidige aanvraag- en antwoordschema’s te bekijken. Het OpenAPI-document is beschikbaar voor codegeneratie.
Basis-URL: https://api.cside.com
Inrichtingsproces
Het maken van een team en het registreren van domeinen zijn afzonderlijke handelingen:
- Maak een API-token voor de organisatie met de vereiste machtigingen
- Roep
POST /v1/teams/aan en sla de geretourneerdeteamIdop - Roep
POST /v1/domains/aan met dieteamIden maximaal 100 hostnamen - Controleer elk item in
data.resultsvoordat u de inrichting als voltooid beschouwt
Als de domeinregistratie mislukt, blijft het team beschikbaar. De API draait een geslaagde teamcreatie niet terug.
Beschikbaarheid en authenticatie
De openbare API is beschikbaar voor organisaties met een actief Enterprise-team. Neem contact op met sales als u API-toegang nodig hebt.
Een organisatiebeheerder kan een token genereren via **Organisatie-instellingen
Algemeen** in het cside-dashboard. Kies alleen de machtigingen die de integratie nodig heeft:
| Machtiging | API-toegang |
|---|---|
Teams maken (teams:create) | POST /v1/teams/ |
Domeinen registreren (domains:create) | POST /v1/domains/ |
Domeinen verwijderen (domains:delete) | DELETE /v1/domains/ |
Het dashboard toont elk token één keer. Sla het op in een server-side secretmanager voordat u het dialoogvenster sluit. Stel het niet beschikbaar in browsercode, commit het niet naar versiebeheer, en schrijf het niet naar applicatielogs.
Stuur het token bij elke aanvraag mee:
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
Tokens blijven geldig totdat een beheerder Alle tokens intrekken selecteert. Hierdoor worden alle API-tokens voor de organisatie onmiddellijk ongeldig.
Stuur team_id en domein-ID’s in JSON als decimale tekenreeksen tussen
aanhalingstekens. Zet ze niet om naar JavaScript-getallen.
Aanvraaglimiet
De API accepteert 60 aanvragen per organisatie per minuut. Deze limiet wordt
gedeeld door de team- en domeinendpoints. Een aanvraag boven de limiet
retourneert 429 met de foutcode rate_limited. Probeer het met back-off
opnieuw nadat de volgende minuut is begonnen.
Een team maken
Gebruik POST /v1/teams/ om een team onder de organisatie van het token te
maken.
curl --request POST \
--url https://api.cside.com/v1/teams/ \
--header "Authorization: Bearer $CSIDE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": "Acme Production"
}'
De teamnaam moet:
- 3 tot 32 tekens bevatten
- Letters, cijfers, underscores, spaties, of apostroffen gebruiken
- Uniek zijn binnen de organisatie
Koppeltekens worden niet geaccepteerd in teamnamen.
Een geslaagde aanvraag retourneert 201 Created:
{
"data": {
"teamId": "1897425263682514944"
}
}
Sla data.teamId op. U hebt deze nodig om domeinen voor het team te
registreren of verwijderen.
Het endpoint accepteert geen idempotentiesleutel. Hergebruik van een teamnaam
retourneert 409 team_name_exists en niet het bestaande team-ID. Sla het
geslaagde antwoord permanent op voordat u de domeinregistratie start.
Door een team te maken, wordt automatische domeinonboarding niet ingeschakeld. Deze mogelijkheid wordt voor elk team afzonderlijk geconfigureerd en is standaard uitgeschakeld.
Domeinen registreren
Gebruik POST /v1/domains/ om 1 tot 100 hostnamen van beheerde domeinen voor
een team te registreren. team_id is vereist wanneer u een API-token voor een
organisatie gebruikt.
curl --request POST \
--url https://api.cside.com/v1/domains/ \
--header "Authorization: Bearer $CSIDE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"team_id": "1897425263682514944",
"domains": [
"checkout.example.com",
"app.example.com"
]
}'
Stuur hostnamen zonder protocol, poort, pad, querytekenreeks, of fragment. cside verwijdert witruimte en zet geaccepteerde hostnamen om naar kleine letters.
Elk item registreert exact de hostnaam die u verstuurt. De API maakt geen
wildcarddomein. Neem daarom elke benodigde hostnaam op, zoals zowel
example.com als www.example.com.
Het endpoint retourneert 200 OK met één resultaat voor elke invoer, in
dezelfde volgorde:
{
"data": {
"results": [
{
"status": "created",
"input": "checkout.example.com",
"domain": "checkout.example.com",
"domainId": "1897425263682514945"
},
{
"status": "existing",
"input": "app.example.com",
"domain": "app.example.com",
"domainId": "1897425263682514946"
},
{
"status": "invalid",
"input": "not a hostname",
"code": "invalid_domain",
"message": "Domain is invalid."
}
],
"totals": {
"created": 1,
"existing": 1,
"invalid": 1
}
}
}
De aanvraag kan zowel geslaagde als ongeldige resultaten bevatten en toch
200 OK retourneren. Controleer elk resultaat:
| Status | Betekenis |
|---|---|
created | cside heeft de hostnaam geregistreerd en de nieuwe domainId geretourneerd |
existing | Hetzelfde team is al eigenaar van de hostnaam. De oorspronkelijke domainId wordt geretourneerd |
invalid | cside heeft de hostnaam niet geregistreerd. Controleer code en message |
U kunt aanvragen voor domeinen die al voor hetzelfde team zijn gemaakt veilig
opnieuw proberen. Ze retourneren existing in plaats van een duplicaat te
maken. Een hostnaam die door een ander team wordt beheerd, retourneert
invalid met domain_already_licensed.
Nieuwe domeinen krijgen automatisch beheerde bescherming. Er is geen afzonderlijke API-aanroep voor activering nodig. Het kan even duren voordat de configuratie het distributienetwerk bereikt.
Validatiecodes voor domeinen
Een invalid resultaat kan een van deze codes bevatten:
| Code | Betekenis |
|---|---|
empty_domain | De invoer is leeg |
invalid_domain | De hostnaam is ongeldig |
public_suffix_domain | De invoer is een public suffix en geen registreerbare hostnaam |
internal_domain | De hostnaam is gereserveerd of niet toegestaan |
reserved_ip | DNS zet de hostnaam om naar een gereserveerd IP-adres |
wildcard_conflict | Een bestaand wildcarddomein dekt deze hostnaam al |
subdomain_conflict | Een bestaande domeinconfiguratie bevat dit subdomein al |
domain_already_licensed | Een ander team beheert de hostnaam al |
internal_error | cside kon het domein niet valideren of maken |
cside voor het team laden
Gebruik de teamId die bij het maken van het team is geretourneerd in de
standaard-URL van het cside-script. Gebruik geen domainId.
<script
src="https://[your-team-id].csidetm.com/client.js"
referrerpolicy="origin">
</script>
De hostnaam van de pagina moet zijn geregistreerd onder hetzelfde team-ID als
in de script-URL. Een ontbrekende registratie of een afwijkend team retourneert
403. Probeer het na korte tijd opnieuw als dit direct na de registratie
gebeurt. Neem contact op met de ondersteuning van cside als het probleem aanhoudt.
Voor standaardmonitoring is geen CNAME van de klant of omleiding van verkeer
nodig. Als uw site een restrictief Content Security Policy heeft, volgt u de
handleiding voor CSP-configuratie om *.csidetm.com toe te
staan.
Automatische domeinonboarding
Automatische domeinonboarding is een optionele teammogelijkheid voor implementaties die het standaard bootstrap-script van cside laden. Deze is standaard uitgeschakeld voor nieuwe teams. Neem contact op met uw cside-vertegenwoordiger als u deze wilt inschakelen.
Wanneer de mogelijkheid is ingeschakeld en een niet-geregistreerde hostnaam de
teamspecifieke bootstrap /client.js of /script.js laadt, stuurt cside de
verwijzende hostnaam door hetzelfde validatie- en registratieproces voor domeinen.
Behoud het standaardattribuut referrerpolicy="origin", zodat de oorsprong van de
pagina beschikbaar is zonder het pad of de querytekenreeks bloot te stellen.
De aanvraag die de niet-geregistreerde hostnaam detecteert, wordt niet opnieuw geprobeerd. De registratie is van invloed op een latere scriptaanvraag nadat de configuratie is doorgevoerd. Automatisch geregistreerde domeinen verschijnen in de domeininventaris van het team, net als domeinen die via de API zijn geregistreerd.
Automatische onboarding maakt geen teams, en aanvragen aan andere cside-endpoints registreren geen hostnaam. Gebruik het expliciete API-proces als u vóór de implementatie van het script een resultaat voor elk domein nodig hebt. Automatische onboarding geldt voor het standaardmonitoringscript en schakelt het verzamelen van Device Intelligence-gegevens niet in.
Domeinen verwijderen
Gebruik DELETE /v1/domains/ met de domainId-waarden die door de
domeinregistratie zijn geretourneerd. Stuur geen hostnamen naar dit endpoint.
curl --request DELETE \
--url https://api.cside.com/v1/domains/ \
--header "Authorization: Bearer $CSIDE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"team_id": "1897425263682514944",
"domains": [
"1897425263682514945",
"1897425263682514946"
]
}'
U kunt 1 tot 100 domein-ID’s versturen. Een geslaagde aanvraag retourneert geordende deelresultaten:
{
"data": {
"results": [
{
"status": "deleted",
"domainId": "1897425263682514945",
"domain": "checkout.example.com"
},
{
"status": "not_found",
"domainId": "1897425263682514999"
}
],
"totals": {
"deleted": 1,
"not_found": 1
}
}
}
Verwijdering is idempotent. Een onbekend ID, een al verwijderd domein, of een
domein buiten het doelteam retourneert not_found zonder informatie over een
ander team te onthullen.
Fouten op aanvraagniveau
Fouten op aanvraagniveau hebben deze structuur:
{
"error": "insufficient_scope",
"message": "Token is missing the domains:create scope."
}
| HTTP-status | Veelvoorkomende foutcodes | Actie |
|---|---|---|
400 | invalid_request | Controleer de JSON-body, verplichte velden, ID-tekenreeksen, en itemlimieten |
401 | unauthorized | Controleer het bearertoken en of alle organisatietokens zijn ingetrokken |
403 | insufficient_scope, enterprise_required, opschortingsfouten | Controleer tokenmachtigingen, abonnementstoegang, en accountstatus |
404 | team_not_found | Controleer of het team-ID bij de organisatie van het token hoort |
409 | team_name_exists | Kies een unieke teamnaam of gebruik het bestaande team |
429 | rate_limited | Probeer het met back-off opnieuw na het huidige limietvenster |
503 | rate_limit_unavailable, domain_deletion_unavailable | Probeer het later opnieuw. Neem contact op met de ondersteuning van cside als de fout aanhoudt |
Beveiligingschecklist
- Genereer een afzonderlijk token voor elke backendintegratie
- Verleen alleen de machtigingen die de integratie nodig heeft
- Bewaar tokens in een server-side secretmanager
- Stel tokens nooit beschikbaar in browsercode, URL’s, versiebeheer, of logs
- Trek alle organisatietokens onmiddellijk in als er één is blootgesteld
- Behandel geretourneerde team- en domein-ID’s als tekenreeksen
Gerelateerde documentatie
Thanks for your feedback!