oCoreoCore Docs
API Reference

Agency

Get agency branding

Returns the branding configuration for the agency.

GET
/agency/branding

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

curl -X GET "//api.ocore.dev/api/agency/branding" \
  -H "Authorization: <token>"

OK

{
  "accentColor": "string",
  "createdAt": "string",
  "customCss": "string",
  "faviconUrl": "string",
  "fontFamily": "string",
  "footerText": "string",
  "fromEmail": "string",
  "id": "string",
  "loginBgUrl": "string",
  "logoUrl": "string",
  "organizationId": "string",
  "primaryColor": "string",
  "updatedAt": "string"
}

Update agency branding

Creates or updates the agency branding configuration (logo, colors, fonts, etc.).

PUT
/agency/branding

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Branding update request

accentColorstring
customCssstring
faviconUrlstring
fontFamilystring
footerTextstring
fromEmailstring
loginBgUrlstring
logoUrlstring
primaryColorstring
curl -X PUT "//api.ocore.dev/api/agency/branding" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "accentColor": "string",
    "customCss": "string",
    "faviconUrl": "string",
    "fontFamily": "string",
    "footerText": "string",
    "fromEmail": "string",
    "loginBgUrl": "string",
    "logoUrl": "string",
    "primaryColor": "string"
  }'

OK

{
  "accentColor": "string",
  "createdAt": "string",
  "customCss": "string",
  "faviconUrl": "string",
  "fontFamily": "string",
  "footerText": "string",
  "fromEmail": "string",
  "id": "string",
  "loginBgUrl": "string",
  "logoUrl": "string",
  "organizationId": "string",
  "primaryColor": "string",
  "updatedAt": "string"
}

List client organizations

Returns all client organizations managed by the agency.

GET
/agency/clients

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

curl -X GET "//api.ocore.dev/api/agency/clients" \
  -H "Authorization: <token>"

OK

{
  "items": [
    {}
  ],
  "total": 0
}

Create client organization

Creates a new client organization under the agency.

POST
/agency/clients

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Client org request

namestring
slugstring
curl -X POST "//api.ocore.dev/api/agency/clients" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "string",
    "slug": "string"
  }'

Created

{
  "createdAt": "string",
  "id": "string",
  "instanceCount": 0,
  "logoUrl": "string",
  "memberCount": 0,
  "name": "string",
  "slug": "string"
}

Delete client organization

Deletes a client organization from the agency.

DELETE
/agency/clients/{clientOrgId}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

clientOrgIdRequiredstring

Client organization ID

curl -X DELETE "//api.ocore.dev/api/agency/clients/<string>" \
  -H "Authorization: <token>"

No Content

Enable agency mode

Enables agency/white-label mode for the current organization.

POST
/agency/enable

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

curl -X POST "//api.ocore.dev/api/agency/enable" \
  -H "Authorization: <token>"

OK

{
  "status": "string"
}

Get agency overview

Returns aggregate stats for the agency dashboard including client count and portal domain info.

GET
/agency/overview

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

curl -X GET "//api.ocore.dev/api/agency/overview" \
  -H "Authorization: <token>"

OK

{
  "activePortalDomains": 0,
  "clientCount": 0,
  "enabled": true,
  "portalDomainCount": 0
}

Get portal configuration

Returns the client portal feature configuration for the agency.

GET
/agency/portal-config

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

curl -X GET "//api.ocore.dev/api/agency/portal-config" \
  -H "Authorization: <token>"

OK

{
  "createdAt": "string",
  "featureBackups": true,
  "featureDatabases": true,
  "featureDomains": true,
  "featureFileEditor": true,
  "featureLogs": true,
  "featureMonitoring": true,
  "featureOdooShell": true,
  "featureTerminal": true,
  "id": "string",
  "infrastructureVisibility": "string",
  "organizationId": "string",
  "teamManagementEnabled": true,
  "updatedAt": "string"
}

Update portal configuration

Updates the client portal feature toggles and visibility settings.

PUT
/agency/portal-config

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Portal config update

featureBackupsboolean
featureDatabasesboolean
featureDomainsboolean
featureFileEditorboolean
featureLogsboolean
featureMonitoringboolean
featureOdooShellboolean
featureTerminalboolean
infrastructureVisibilitystring
teamManagementEnabledboolean
curl -X PUT "//api.ocore.dev/api/agency/portal-config" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "featureBackups": true,
    "featureDatabases": true,
    "featureDomains": true,
    "featureFileEditor": true,
    "featureLogs": true,
    "featureMonitoring": true,
    "featureOdooShell": true,
    "featureTerminal": true,
    "infrastructureVisibility": "string",
    "teamManagementEnabled": true
  }'

OK

{
  "createdAt": "string",
  "featureBackups": true,
  "featureDatabases": true,
  "featureDomains": true,
  "featureFileEditor": true,
  "featureLogs": true,
  "featureMonitoring": true,
  "featureOdooShell": true,
  "featureTerminal": true,
  "id": "string",
  "infrastructureVisibility": "string",
  "organizationId": "string",
  "teamManagementEnabled": true,
  "updatedAt": "string"
}

List portal domains

Returns all portal domains configured for the agency.

GET
/agency/portal-domains

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

curl -X GET "//api.ocore.dev/api/agency/portal-domains" \
  -H "Authorization: <token>"

OK

{
  "items": [
    {
      "createdAt": "string",
      "customDomain": "string",
      "dnsVerificationToken": "string",
      "dnsVerified": true,
      "dnsVerifiedAt": "string",
      "id": "string",
      "isActive": true,
      "organizationId": "string",
      "sslStatus": "string",
      "subdomain": "string",
      "updatedAt": "string"
    }
  ],
  "total": 0
}

Create portal domain

Creates a new portal domain (subdomain or custom domain) for the agency.

POST
/agency/portal-domains

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Portal domain request

customDomainstring
subdomainstring
curl -X POST "//api.ocore.dev/api/agency/portal-domains" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "customDomain": "string",
    "subdomain": "string"
  }'

Created

{
  "createdAt": "string",
  "customDomain": "string",
  "dnsVerificationToken": "string",
  "dnsVerified": true,
  "dnsVerifiedAt": "string",
  "id": "string",
  "isActive": true,
  "organizationId": "string",
  "sslStatus": "string",
  "subdomain": "string",
  "updatedAt": "string"
}

Delete portal domain

Deletes a portal domain from the agency.

DELETE
/agency/portal-domains/{domainId}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

domainIdRequiredstring

Portal domain ID

curl -X DELETE "//api.ocore.dev/api/agency/portal-domains/<string>" \
  -H "Authorization: <token>"

No Content

Verify portal domain DNS

Triggers DNS verification for a portal domain.

POST
/agency/portal-domains/{domainId}/verify

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

domainIdRequiredstring

Portal domain ID

curl -X POST "//api.ocore.dev/api/agency/portal-domains/<string>/verify" \
  -H "Authorization: <token>"

OK

{
  "verified": true
}

Get portal context

Returns the combined portal state including branding, config, and domain info.

GET
/portal/context

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

curl -X GET "//api.ocore.dev/api/portal/context" \
  -H "Authorization: <token>"

OK

{}

Was this page helpful?