Create an integration API key for explicitly granted projects. The generated key is returned once, without a receipt copy.
curl --request POST \
--url https://api.sendrealm.com/project-operations/integration_keys_create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Sendrealm-Project-Id: <x-sendrealm-project-id>' \
--data '
{
"name": "<string>",
"permissions": [],
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
'const options = {
method: 'POST',
headers: {
'X-Sendrealm-Project-Id': '<x-sendrealm-project-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
permissions: [],
project_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']
})
};
fetch('https://api.sendrealm.com/project-operations/integration_keys_create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sendrealm.com/project-operations/integration_keys_create"
payload = {
"name": "<string>",
"permissions": [],
"project_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"]
}
headers = {
"X-Sendrealm-Project-Id": "<x-sendrealm-project-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"status": 123,
"data": {
"id": "<string>",
"name": "<string>",
"status": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"targeting": {
"version": 1,
"base": {
"type": "all_contacts"
},
"excluded_audience_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"contact_rules": {
"kind": "group",
"operator": "and",
"children": "<array>"
},
"push_rules": {
"kind": "group",
"operator": "and",
"children": "<array>"
}
},
"readiness": "<string>"
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}Agent account administration
Integration Keys Create
Create an integration API key for explicitly granted projects. The generated key is returned once, without a receipt copy. Requires the explicit operation scope and current actor access.
POST
/
project-operations
/
integration_keys_create
Create an integration API key for explicitly granted projects. The generated key is returned once, without a receipt copy.
curl --request POST \
--url https://api.sendrealm.com/project-operations/integration_keys_create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Sendrealm-Project-Id: <x-sendrealm-project-id>' \
--data '
{
"name": "<string>",
"permissions": [],
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
'const options = {
method: 'POST',
headers: {
'X-Sendrealm-Project-Id': '<x-sendrealm-project-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
permissions: [],
project_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']
})
};
fetch('https://api.sendrealm.com/project-operations/integration_keys_create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sendrealm.com/project-operations/integration_keys_create"
payload = {
"name": "<string>",
"permissions": [],
"project_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"]
}
headers = {
"X-Sendrealm-Project-Id": "<x-sendrealm-project-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"status": 123,
"data": {
"id": "<string>",
"name": "<string>",
"status": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"targeting": {
"version": 1,
"base": {
"type": "all_contacts"
},
"excluded_audience_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"contact_rules": {
"kind": "group",
"operator": "and",
"children": "<array>"
},
"push_rules": {
"kind": "group",
"operator": "and",
"children": "<array>"
}
},
"readiness": "<string>"
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}Create an integration API key for explicitly granted projects. The generated key is returned once, without a receipt copy.
Requires a scoped personal key, an explicit granted project_id, and integration_keys.write. Current role and credential grants remain enforced. See Agent messaging and project operations for authorization and recovery.
Authorizations
Integration key for backend workloads, or a scoped personal key (sr_user_) for account discovery and supported project operations. MCP accepts only personal keys.
Headers
Body
application/json
Display name.
Required string length:
1 - 120Explicit integration-key permissions.
Required array length:
1 - 6 elementsAvailable options:
*, email.send, push.send, events.ingest, resources.read, resources.write Default project. Team keys require current team-level key management access.
Available options:
project, team Project access scope. Personal-key callers can select only explicitly granted projects; all_projects requires a dashboard session.
Available options:
all_projects, selected_projects Explicit granted projects for a team key.
Maximum array length:
500Owned resource UUID from the matching list operation.
Required string length:
1 - 36