API Reference

Settings

Public settings, admin configuration, API key administration, and outbound integrations.

Returns public site settings required by unauthenticated pages.

Authentication

Public.

Modes: public

Permissions or Scopes

none

Request Headers

HeaderValueDescription
No special headers.

Parameters

NameInRequiredDescription
No path, query, or body parameters.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl "https://playroom.date/api/settings/public"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/settings/public', {
  method: 'GET',
});
const data = await response.json();

Python

import requests

headers = {}
response = requests.get('https://playroom.date/api/settings/public', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "settings": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

This request has no editable path, query, or body fields.

Request

GET /api/settings/public

curl Equivalent

curl "https://playroom.date/api/settings/public"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "settings": []
  },
  "error": null
}

Returns full site/admin settings.

Authentication

Admin session.

Modes: logged-in user, API key

API key: settings:read

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
No path, query, or body parameters.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/admin/settings"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/settings', {
  method: 'GET',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.get('https://playroom.date/api/admin/settings', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "settings": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

This request has no editable path, query, or body fields.

Request

GET /api/admin/settings

curl Equivalent

curl "https://playroom.date/api/admin/settings"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "settings": []
  },
  "error": null
}

Updates site/admin settings.

Authentication

Admin session + CSRF.

Modes: logged-in user, API key

API key: settings:write

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
No path, query, or body parameters.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X PUT -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/admin/settings"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/settings', {
  method: 'PUT',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.put('https://playroom.date/api/admin/settings', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "settings": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

This request has no editable path, query, or body fields.

Request

PUT /api/admin/settings

curl Equivalent

curl -X PUT "https://playroom.date/api/admin/settings"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "settings": []
  },
  "error": null
}

Sends a test email using configured mail settings.

Authentication

Admin session + CSRF.

Modes: logged-in user, API key

API key: settings:write

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
tobodyYesRecipient email address.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X POST -H "Authorization: Bearer prapi_your_key" -H "Content-Type: application/json" -d '{"to":"example-to"}' "https://playroom.date/api/admin/settings/send-test-email"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/settings/send-test-email', {
  method: 'POST',
  headers: {
    "Authorization": "Bearer prapi_your_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "to": "example-to"
  }),
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.post('https://playroom.date/api/admin/settings/send-test-email', headers=headers, json={"to": "example-to"})
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "mail": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

POST /api/admin/settings/send-test-email

Request Payload

{
  "to": ""
}

curl Equivalent

curl -X POST -H "Content-Type: application/json" -d '{"to":""}' "https://playroom.date/api/admin/settings/send-test-email"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "mail": []
  },
  "error": null
}

Lists API key records without revealing secrets.

Authentication

Admin session.

Modes: logged-in user

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.

Parameters

NameInRequiredDescription
No path, query, or body parameters.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl "https://playroom.date/api/admin/tokens"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/tokens', {
  method: 'GET',
});
const data = await response.json();

Python

import requests

headers = {}
response = requests.get('https://playroom.date/api/admin/tokens', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "tokens": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

No executable auth mode is available for this browser session.

This request has no editable path, query, or body fields.

Request

GET /api/admin/tokens

curl Equivalent

curl "https://playroom.date/api/admin/tokens"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "tokens": []
  },
  "error": null
}

Creates an API key and returns the one-time secret.

Authentication

Admin session + CSRF.

Modes: logged-in user

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.

Parameters

NameInRequiredDescription
displayNamebodyYesAPI key display name.
scopesbodyYesAPI key scopes.
allowedIpsbodyYesAllowed IP addresses.
banFieldsbodyYesFields exposed by bans API responses.
expiresAtbodyNoOptional ISO datetime expiry.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X POST -H "Content-Type: application/json" -d '{"displayName":"example-displayName","scopes":["bans:read"],"allowedIps":["127.0.0.1"],"banFields":["id","username","providerIds","reason","timestamps","status"],"expiresAt":"example-expiresAt"}' "https://playroom.date/api/admin/tokens"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/tokens', {
  method: 'POST',
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "displayName": "example-displayName",
    "scopes": [
      "bans:read"
    ],
    "allowedIps": [
      "127.0.0.1"
    ],
    "banFields": [
      "id",
      "username",
      "providerIds",
      "reason",
      "timestamps",
      "status"
    ],
    "expiresAt": "example-expiresAt"
  }),
});
const data = await response.json();

Python

import requests

headers = {}
response = requests.post('https://playroom.date/api/admin/tokens', headers=headers, json={"displayName": "example-displayName", "scopes": ["bans:read"], "allowedIps": ["127.0.0.1"], "banFields": ["id", "username", "providerIds", "reason", "timestamps", "status"], "expiresAt": "example-expiresAt"})
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "token": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

No executable auth mode is available for this browser session.

Request

POST /api/admin/tokens

Request Payload

{
  "displayName": "",
  "scopes": [
    "bans:read"
  ],
  "allowedIps": [
    "127.0.0.1"
  ],
  "banFields": [
    "id",
    "username",
    "providerIds",
    "reason",
    "timestamps",
    "status"
  ]
}

curl Equivalent

curl -X POST -H "Content-Type: application/json" -d '{"displayName":"","scopes":["bans:read"],"allowedIps":["127.0.0.1"],"banFields":["id","username","providerIds","reason","timestamps","status"]}' "https://playroom.date/api/admin/tokens"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "token": []
  },
  "error": null
}

Updates API key metadata, scopes, fields, expiry, or revocation status.

Authentication

Admin session + CSRF.

Modes: logged-in user

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.

Parameters

NameInRequiredDescription
idbodyYesAPI key ID to update.
displayNamebodyNoUpdated API key display name.
scopesbodyNoUpdated API key scopes.
allowedIpsbodyNoUpdated allowed IP addresses.
banFieldsbodyNoUpdated bans API fields.
expiresAtbodyNoOptional ISO datetime expiry.
revokedbodyNoWhether the API key is revoked.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X PUT -H "Content-Type: application/json" -d '{"id":"resource_id","displayName":"example-displayName","scopes":["bans:read"],"allowedIps":["127.0.0.1"],"banFields":["id","username","providerIds","reason","timestamps","status"],"expiresAt":"example-expiresAt","revoked":true}' "https://playroom.date/api/admin/tokens"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/tokens', {
  method: 'PUT',
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "id": "resource_id",
    "displayName": "example-displayName",
    "scopes": [
      "bans:read"
    ],
    "allowedIps": [
      "127.0.0.1"
    ],
    "banFields": [
      "id",
      "username",
      "providerIds",
      "reason",
      "timestamps",
      "status"
    ],
    "expiresAt": "example-expiresAt",
    "revoked": true
  }),
});
const data = await response.json();

Python

import requests

headers = {}
response = requests.put('https://playroom.date/api/admin/tokens', headers=headers, json={"id": "resource_id", "displayName": "example-displayName", "scopes": ["bans:read"], "allowedIps": ["127.0.0.1"], "banFields": ["id", "username", "providerIds", "reason", "timestamps", "status"], "expiresAt": "example-expiresAt", "revoked": True})
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "token": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

No executable auth mode is available for this browser session.

Request

PUT /api/admin/tokens

Request Payload

{
  "id": "",
  "scopes": [
    "bans:read"
  ],
  "allowedIps": [
    "127.0.0.1"
  ],
  "banFields": [
    "id",
    "username",
    "providerIds",
    "reason",
    "timestamps",
    "status"
  ]
}

curl Equivalent

curl -X PUT -H "Content-Type: application/json" -d '{"id":"","scopes":["bans:read"],"allowedIps":["127.0.0.1"],"banFields":["id","username","providerIds","reason","timestamps","status"]}' "https://playroom.date/api/admin/tokens"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "token": []
  },
  "error": null
}

Revokes or permanently deletes an API key record.

Authentication

Admin session + CSRF.

Modes: logged-in user

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.

Parameters

NameInRequiredDescription
idqueryYesAPI key ID.
permanentqueryNoPermanently delete instead of revoke.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X DELETE "https://playroom.date/api/admin/tokens?id=resource_id"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/tokens?id=resource_id', {
  method: 'DELETE',
});
const data = await response.json();

Python

import requests

headers = {}
response = requests.delete('https://playroom.date/api/admin/tokens?id=resource_id', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "token": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

No executable auth mode is available for this browser session.

Request

DELETE /api/admin/tokens

curl Equivalent

curl -X DELETE "https://playroom.date/api/admin/tokens"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "token": []
  },
  "error": null
}

Lists outbound integration targets.

Authentication

Admin session.

Modes: logged-in user, API key

API key: settings:read

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
No path, query, or body parameters.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/admin/outbound-targets"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/outbound-targets', {
  method: 'GET',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.get('https://playroom.date/api/admin/outbound-targets', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "targets": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

This request has no editable path, query, or body fields.

Request

GET /api/admin/outbound-targets

curl Equivalent

curl "https://playroom.date/api/admin/outbound-targets"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "targets": []
  },
  "error": null
}

Creates an outbound integration target.

Authentication

Admin session + CSRF.

Modes: logged-in user, API key

API key: settings:write

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
namebodyYesTarget name.
urlbodyYesDestination URL.
secretbodyNoOptional signing secret.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X POST -H "Authorization: Bearer prapi_your_key" -H "Content-Type: application/json" -d '{"name":"example-name","url":"example-url","secret":"example-secret"}' "https://playroom.date/api/admin/outbound-targets"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/outbound-targets', {
  method: 'POST',
  headers: {
    "Authorization": "Bearer prapi_your_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "name": "example-name",
    "url": "example-url",
    "secret": "example-secret"
  }),
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.post('https://playroom.date/api/admin/outbound-targets', headers=headers, json={"name": "example-name", "url": "example-url", "secret": "example-secret"})
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "target": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

POST /api/admin/outbound-targets

Request Payload

{
  "name": "",
  "url": ""
}

curl Equivalent

curl -X POST -H "Content-Type: application/json" -d '{"name":"","url":""}' "https://playroom.date/api/admin/outbound-targets"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "target": []
  },
  "error": null
}

Updates an outbound integration target.

Authentication

Admin session + CSRF.

Modes: logged-in user, API key

API key: settings:write

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
idbodyYesTarget ID.
namebodyNoUpdated target name.
urlbodyNoUpdated destination URL.
secretbodyNoUpdated signing secret.
enabledbodyNoWhether the target is enabled.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X PUT -H "Authorization: Bearer prapi_your_key" -H "Content-Type: application/json" -d '{"id":"resource_id","name":"example-name","url":"example-url","secret":"example-secret","enabled":true}' "https://playroom.date/api/admin/outbound-targets"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/outbound-targets', {
  method: 'PUT',
  headers: {
    "Authorization": "Bearer prapi_your_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "id": "resource_id",
    "name": "example-name",
    "url": "example-url",
    "secret": "example-secret",
    "enabled": true
  }),
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.put('https://playroom.date/api/admin/outbound-targets', headers=headers, json={"id": "resource_id", "name": "example-name", "url": "example-url", "secret": "example-secret", "enabled": True})
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "target": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

PUT /api/admin/outbound-targets

Request Payload

{
  "id": ""
}

curl Equivalent

curl -X PUT -H "Content-Type: application/json" -d '{"id":""}' "https://playroom.date/api/admin/outbound-targets"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "target": []
  },
  "error": null
}

Deletes an outbound integration target.

Authentication

Admin session + CSRF.

Modes: logged-in user, API key

API key: settings:write

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
idqueryYesTarget ID to delete.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X DELETE -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/admin/outbound-targets?id=resource_id"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/outbound-targets?id=resource_id', {
  method: 'DELETE',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.delete('https://playroom.date/api/admin/outbound-targets?id=resource_id', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "target": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

DELETE /api/admin/outbound-targets

curl Equivalent

curl -X DELETE "https://playroom.date/api/admin/outbound-targets"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "target": []
  },
  "error": null
}

Lists queued or recent outbound actions.

Authentication

Admin session.

Modes: logged-in user, API key

API key: settings:read

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
No path, query, or body parameters.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/admin/outbound-actions"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/outbound-actions', {
  method: 'GET',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.get('https://playroom.date/api/admin/outbound-actions', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "actions": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

This request has no editable path, query, or body fields.

Request

GET /api/admin/outbound-actions

curl Equivalent

curl "https://playroom.date/api/admin/outbound-actions"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "actions": []
  },
  "error": null
}

Retries or processes outbound action work.

Authentication

Admin session + CSRF.

Modes: logged-in user, API key

API key: settings:write

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
idbodyYesOutbound action ID.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X POST -H "Authorization: Bearer prapi_your_key" -H "Content-Type: application/json" -d '{"id":"resource_id"}' "https://playroom.date/api/admin/outbound-actions"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/outbound-actions', {
  method: 'POST',
  headers: {
    "Authorization": "Bearer prapi_your_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "id": "resource_id"
  }),
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.post('https://playroom.date/api/admin/outbound-actions', headers=headers, json={"id": "resource_id"})
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "action": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

POST /api/admin/outbound-actions

Request Payload

{
  "id": ""
}

curl Equivalent

curl -X POST -H "Content-Type: application/json" -d '{"id":""}' "https://playroom.date/api/admin/outbound-actions"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "action": []
  },
  "error": null
}

Deletes an outbound action record.

Authentication

Admin session + CSRF.

Modes: logged-in user, API key

API key: settings:write

Permissions or Scopes

manage_settings

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
idqueryYesOutbound action ID to delete.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X DELETE -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/admin/outbound-actions?id=resource_id"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/admin/outbound-actions?id=resource_id', {
  method: 'DELETE',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.delete('https://playroom.date/api/admin/outbound-actions?id=resource_id', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "action": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

DELETE /api/admin/outbound-actions

curl Equivalent

curl -X DELETE "https://playroom.date/api/admin/outbound-actions"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "action": []
  },
  "error": null
}