LogoLogo
cegedim.cloudITCareAPIPrivacy
Français
Français
  • Documentation
  • ITCare
    • ITCare, c'est quoi ?
      • Débuter avec ITCare
      • Démos
    • Enercare
      • Empreinte carbone
    • Notes de mise à jour
  • ITCare API
    • Aperçu
    • Authentication
    • Erreurs
    • Pagination
    • Reference API
      • Démarrage rapide
      • Analytics
        • Matomo
      • Changes
        • Changes
      • Compute
        • Application Servers
        • Backup Policies
        • Containers
        • Environments
        • Instances
        • Platform
        • Resource Filters
        • Resource Types
        • Resources
        • Services
        • Statuses
        • Tag Keys
        • Tag Values
        • Types
      • Databases
        • Databases
        • MariaDB
        • OpenSearch
        • PostgreSQL
        • Redis
        • SQL Server
      • Hardwares
        • Hardwares
      • Messaging
        • Apache Kafka
        • Message Brokers
        • RabbitMQ
      • Networking
        • Domains
        • Load Balancers
        • Network Clusters
        • Networks
      • Operations
        • Actions
        • Operations
      • Storage
        • Glusterfs
        • Overdrive
      • Topology
        • Topology
  • Services
    • Produits
    • Politique de support
    • Politique de patch
    • RACI
  • Analytique
    • Matomo
      • Matomo - Architecture
      • Matomo - Didacticiels
  • Calcul
    • Instances virtuelles
      • Instances virtuelles - Architectures
        • Linux - Renforcement
      • Instances virtuelles - Didacticiels
    • Conteneurs (K8s)
      • K8s - Architecture
        • Hardening
        • Stockage Persistant
      • K8s - Didacticiels
        • Haute Disponibilité
  • Bases de données
    • MariaDB
      • MariaDB - Architecture
      • MariaDB - Didacticiels
    • OpenSearch
      • OpenSearch - Architecture
        • v2 - Changements
      • OpenSearch - Didacticiels
    • PostgreSQL
      • PostgreSQL - Architecture
      • PostgreSQL - Didacticiels
      • PostgreSQL - Mise à jour
    • Redis
      • Redis - Architecture
      • Redis - Didacticiels
      • Redis - Mise à jour
    • SQL Server
      • SQL Server - Architecture
      • SQL Server - Didacticiels
  • Message
    • Apache Kafka
      • Apache Kafka - Architecture
      • Apache Kafka - Didacticiels
      • Apache Kafka - Mise à jour
    • RabbitMQ
      • RabbitMQ - Architecture
      • RabbitMQ - Didacticiels
    • SMS
      • SMS - Didacticiels
  • Securité
    • Advanced Vulnerability Assessment
    • Bot Defense
      • Bot Defense - Architecture
    • Campagne de Phishing
    • Data Masking
      • Data Masking - Didacticiels
  • Surveillance
    • ExtraHop
  • Stockage
    • GlusterFS
      • GlusterFS - Architecture
      • GlusterFS - Didacticiels
    • OverDrive
      • OverDrive - Architecture
    • Stockage Objet
      • Stockage Objet - Architecture
        • Compatibilité API S3
        • Limitation et bonnes pratiques
        • URL pré-signée
        • Politiques de Buckets
        • Configuration de cycle de vie
        • Object Lock
      • Stockage Objet - Didacticiels
        • Gérer des Objects Users
        • Gérer des versions dans un Bucket
        • Gérer l'accès à un Bucket
Powered by GitBook
On this page
Export as PDF
  1. ITCare API
  2. Reference API
  3. Databases

PostgreSQL

PreviousOpenSearchNextRedis

Last updated 2 months ago

Get a Postgre SQL Instance available in the cloud

get
Authorizations
Path parameters
idinteger · int64Required

id, example: 500061854

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/databases/postgresql/{id} HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
{
  "allowMonitoringDisplay": true,
  "allowedReplicationLag": 1,
  "area": "text",
  "backupPolicyDetails": {
    "backups": [
      {
        "backupLastDate": "2025-05-08T22:13:32.563Z",
        "backupSize": 1,
        "id": 1,
        "type": "text"
      }
    ],
    "policies": [
      {
        "backupLastDate": "2025-05-08T22:13:32.563Z",
        "backupSize": 1,
        "durationInHours": 1,
        "frequencies": {},
        "label": "text",
        "name": "text",
        "policyId": "text",
        "replication": true,
        "scope": "text",
        "startTime": "text",
        "timezone": "text",
        "type": "text"
      }
    ]
  },
  "backupStatus": true,
  "category": "text",
  "cloudId": 1,
  "cloudName": "text",
  "comment": "text",
  "cpu": 1,
  "creationTime": "text",
  "creationUser": "text",
  "endOfSalesAt": "2025-05-08T22:13:32.563Z",
  "endOfSupportAt": "2025-05-08T22:13:32.563Z",
  "environment": "text",
  "extendedSupportAt": "2025-05-08T22:13:32.563Z",
  "family": "text",
  "id": 1,
  "instanceCount": 1,
  "internalResourceId": 1,
  "internalType": "text",
  "ipAddress": "text",
  "label": "text",
  "metrologyUrl": "text",
  "monitoringAlerting": true,
  "monitoringEnabled": true,
  "monitoringOnCallEnabled": true,
  "monitoringRequested": true,
  "name": "text",
  "networkId": 1,
  "nodeCount": 1,
  "nodeSizing": "text",
  "patchParty": {
    "excluded": true,
    "excludedBy": "text",
    "exclusionDate": "2025-05-08T22:13:32.563Z",
    "exclusionReason": "text",
    "id": 1,
    "name": "text",
    "patchDate": "2025-05-08T22:13:32.563Z",
    "patchGroup": "text",
    "patchTag": "text"
  },
  "path": "text",
  "prettyLabel": "text",
  "productCode": "text",
  "productName": "text",
  "productVersion": "text",
  "ram": 1,
  "releasedAt": "2025-05-08T22:13:32.563Z",
  "replicationStatus": true,
  "resourceType": "text",
  "serviceId": 1,
  "serviceKey": "text",
  "serviceName": "text",
  "status": "text",
  "storage": 1,
  "supportPhase": "text",
  "technology": "text",
  "tlsEnabled": true,
  "topology": "text",
  "trigram": "text",
  "type": "text",
  "url": "text",
  "version": "text"
}

Get available databases for a Postgre SQL Farm in the cloud

get
Authorizations
Path parameters
idinteger · int64Required

id, example: 500061854

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/databases/postgresql/{id}/databases HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
[
  {
    "extensions": [
      {
        "name": "text",
        "schema": "text",
        "version": "text"
      }
    ],
    "name": "text"
  }
]

Get available extensions for a Postgre SQL Farm in the cloud

get
Authorizations
Path parameters
idinteger · int64Required

id, example: 500061854

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/databases/postgresql/{id}/extensions HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
[
  {
    "comment": "text",
    "link": "text",
    "name": "text",
    "requiresRestarting": true,
    "version": "text"
  }
]

Get a PostgreSQL network informations

get
Authorizations
Path parameters
idinteger · int64Required
Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/databases/postgresql/{id}/networks HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
[
  {
    "area": "text",
    "cidr": "text",
    "cloud": "text",
    "defaultNetwork": true,
    "description": "text",
    "dns": [
      {
        "alias": "text",
        "domain": "text"
      }
    ],
    "environment": "text",
    "gateway": "text",
    "id": 1,
    "ipAddress": "text",
    "ipFreeNumber": 1,
    "isIpRangePublic": true,
    "mask": "text",
    "networkShortDescription": "text",
    "region": "text",
    "scope": "text",
    "shortDescription": "text",
    "technicalId": "text",
    "usedPercent": 1
  }
]

Get a PostgreSQL node informations

get
Authorizations
Path parameters
idinteger · int64Required
Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/databases/postgresql/{id}/nodes HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
[
  {
    "area": {
      "availabilityZones": [
        {
          "availabilityZoneGroup": "text",
          "datacenterId": "text",
          "defaultZone": true,
          "id": "text",
          "location": "text",
          "routable": true
        }
      ],
      "defaultArea": true,
      "id": "text",
      "location": "text",
      "regulation": "text"
    },
    "authenticationDomain": "text",
    "availabilityZone": {
      "availabilityZoneGroup": "text",
      "datacenterId": "text",
      "defaultZone": true,
      "id": "text",
      "location": "text",
      "routable": true
    },
    "backup": {
      "backupSystem": "text",
      "filesNb": 1,
      "lastDate": "2025-05-08T22:13:32.563Z",
      "size": 1,
      "type": "text"
    },
    "backupPolicyDetails": {
      "backups": [
        {
          "backupLastDate": "2025-05-08T22:13:32.563Z",
          "backupSize": 1,
          "id": 1,
          "type": "text"
        }
      ],
      "policies": [
        {
          "backupLastDate": "2025-05-08T22:13:32.563Z",
          "backupSize": 1,
          "durationInHours": 1,
          "frequencies": {},
          "label": "text",
          "name": "text",
          "policyId": "text",
          "replication": true,
          "scope": "text",
          "startTime": "text",
          "timezone": "text",
          "type": "text"
        }
      ]
    },
    "backupStatus": true,
    "category": "text",
    "cloudId": 1,
    "cloudName": "text",
    "comment": "text",
    "cpu": 1,
    "creationTime": "text",
    "creationUser": "text",
    "enableProfileBaseNtp": true,
    "enableProfileBaseResolve": true,
    "endOfSalesAt": "2025-05-08T22:13:32.563Z",
    "endOfSupportAt": "2025-05-08T22:13:32.563Z",
    "environment": "text",
    "extendedSupportAt": "2025-05-08T22:13:32.563Z",
    "family": "text",
    "firewallBlockIntraSubnetTraffic": true,
    "firewallEnable": true,
    "firewallPurge": true,
    "id": 1,
    "imageCode": "text",
    "internalResourceId": 1,
    "internalType": "text",
    "ipAddress": "text",
    "isExternalIngressNode": true,
    "isInternalIngressNode": true,
    "isMemberOFLoadBalancer": true,
    "label": "text",
    "labelArea": "text",
    "labelAvailabilityZone": "text",
    "labelDataCenter": "text",
    "labelRegion": "text",
    "loadbalancers": [
      {
        "id": 1,
        "memberCount": 1,
        "monitoringEnabled": true,
        "name": "text",
        "serviceId": 1,
        "status": "text"
      }
    ],
    "manageSentinelOne": true,
    "metrologyUrl": "text",
    "monitoringAlerting": true,
    "monitoringEnabled": true,
    "monitoringOnCallEnabled": true,
    "monitoringRequested": true,
    "name": "text",
    "network": {
      "area": "text",
      "cidr": "text",
      "cloud": "text",
      "defaultNetwork": true,
      "description": "text",
      "dns": [
        {
          "alias": "text",
          "domain": "text"
        }
      ],
      "environment": "text",
      "gateway": "text",
      "id": 1,
      "ipAddress": "text",
      "ipFreeNumber": 1,
      "isIpRangePublic": true,
      "mask": "text",
      "networkShortDescription": "text",
      "region": "text",
      "scope": "text",
      "shortDescription": "text",
      "technicalId": "text",
      "usedPercent": 1
    },
    "ntpServers": [
      "text"
    ],
    "osName": "text",
    "osType": "text",
    "parentResourceType": "text",
    "patchParty": {
      "excluded": true,
      "excludedBy": "text",
      "exclusionDate": "2025-05-08T22:13:32.563Z",
      "exclusionReason": "text",
      "id": 1,
      "name": "text",
      "patchDate": "2025-05-08T22:13:32.563Z",
      "patchGroup": "text",
      "patchTag": "text"
    },
    "path": "text",
    "prettyLabel": "text",
    "productCode": "text",
    "productName": "text",
    "productVersion": "text",
    "ram": 1,
    "region": {
      "areas": [
        {
          "availabilityZones": [
            {
              "availabilityZoneGroup": "text",
              "datacenterId": "text",
              "defaultZone": true,
              "id": "text",
              "location": "text",
              "routable": true
            }
          ],
          "defaultArea": true,
          "id": "text",
          "location": "text",
          "regulation": "text"
        }
      ],
      "dataCenter": "text",
      "id": "text",
      "location": "text"
    },
    "relayHost": "text",
    "releasedAt": "2025-05-08T22:13:32.563Z",
    "replication": {
      "noStoRplExplanation": "text",
      "storageClass": "text",
      "storageClassOverride": "text",
      "storageMoveInProgress": true,
      "storageMoveTicket": "text",
      "storageReplicationClass": "text"
    },
    "replicationStatus": true,
    "resourceType": "text",
    "serviceId": 1,
    "serviceKey": "text",
    "serviceName": "text",
    "snapshot": {
      "changeReference": "text",
      "createdAt": "2025-05-08T22:13:32.563Z",
      "createdBy": "text",
      "description": "text",
      "expiresAt": "2025-05-08T22:13:32.563Z",
      "id": "text",
      "label": "text",
      "recoveredAt": "2025-05-08T22:13:32.563Z",
      "snapshotSize": 1
    },
    "status": "text",
    "storage": 1,
    "storageInformation": {
      "fileSystems": [
        {
          "free": 1,
          "mountingPoint": "text",
          "sizeOf": 1,
          "type": "text"
        }
      ],
      "totalSizeDisks": 1,
      "totalSizeFileSystems": 1
    },
    "storageMoveInProgress": true,
    "supportPhase": "text",
    "technology": "text",
    "type": "text"
  }
]

Get available versions for a Postgre SQL Farm in the cloud

get
Authorizations
Path parameters
idinteger · int64Required

id, example: 500061854

Responses
200
OK
application/vnd.cegedim-it.v1+json
Responseinteger · int64[]
400
Bad Request
*/*
get
GET /itcare/databases/postgresql/{id}/versions HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
[
  1
]
  • POSTCreate a Postgre SQL instance
  • DELETEDelete an existing PostgreSQL instance
  • GETGet a Postgre SQL Instance available in the cloud
  • PATCHPerforms update state actions to an existing Postgre SQL instance
  • GETGet available databases for a Postgre SQL Farm in the cloud
  • GETGet available extensions for a Postgre SQL Farm in the cloud
  • GETGet a PostgreSQL network informations
  • GETGet a PostgreSQL node informations
  • GETGet available versions for a Postgre SQL Farm in the cloud

Delete an existing PostgreSQL instance

delete

This method allows to delete a postgre SQL instance.

This method is asynchronous (status code 202) and you'll have to wait for async action to be completed by checking its status.

DELETE /postgresql/123

Authorizations
Path parameters
idinteger · int64Required

id, example: 123

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
delete
DELETE /itcare/databases/postgresql/{id} HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
{
  "family": "text",
  "id": 1,
  "internalId": 1,
  "lastUpdatedAt": "2025-05-08T22:13:32.563Z",
  "message": "text",
  "process": "text",
  "resourceName": "text",
  "resourceType": "text",
  "status": "SUCCESS,IN_PROGRESS,ERROR"
}

Create a Postgre SQL instance

post

This method allows to create a postgre SQL instance.

You will have to know at the minimum :

  • the area of the region where you want to host your cluster (area attribute). Areas can be available in List Regions method.
  • name of postgre SQL cluster (name attribute). The name can contain any lowercase characters or numbers (5-60). It must not be the keyword 'cluster'.
  • Size of nodes in the postgre SQL cluster (nodeSizing attribute). Ex: 2cpu2gb
  • storage needed on each data node of the postgre SQL cluster (diskSize attribute). The possible values are at least 40 and maximum 1024 (representing GB).
  • how to connect to the instance (admPassword attribute). The password must be At least one lowercase, one uppercase, one digit, one special character, minimum length must be 12.
  • version of the postgre SQL cluster (postgreVersion attribute). Example: 13
  • On which service the postgre SQL instance belongs to (serviceId attribute).
  • network ID of the cluster (networkId attribute).
  • Topology of the postgre SQL cluster (topology attribute). Either standalone / HA
  • trigram of the postgre SQL cluster (trigram attribute).
  • Allowed replication Lag of the postgre SQL (allowedReplicationLag attribute). The minimum size is 1 MB and maximum is 10240 MB

HA topology extra fields: These fields are required for HA clusters:

  • prefix of the node names for postgre cluster (nodePrefix attribute). The prefix should be from 5 to 12 characters and can contain any uppercase character.
  • Availability zone of the postgre cluster (az attribute).
  • Trigram of the postgre cluster (trigram attribute).
  • TLS enabled boolean for the postgre cluster (tls attribute).

This method is asynchronous (status code 202) and you'll have to wait for async action to be completed by checking its status.

POST /postgresql
{
  "serviceId" : 123,
  "nodeSizing" : "2cpu4gb",
  "networkId" : 132,
  "area" : "EB-QA",
  "diskSize" : 40,
  "admPassword" : "Test123@2022",
  "postgreVersion" : "13",
  "allowedReplicationLag" : 10,
  "az" : "az",
  "topology" : "STANDALONE",
  "trigram" : "tri",
  "tls" : true,
  "name" : "NEWPOSTGRE01"
}
Authorizations
Body
one ofOptional
all ofOptional
or
all ofOptional
Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
post
POST /itcare/databases/postgresql HTTP/1.1
Host: api.cegedim.cloud
Content-Type: application/vnd.cegedim-it.v1+json
Accept: */*
Content-Length: 599

{
  "admPassword": "text",
  "allowedReplicationLag": 1,
  "area": "text",
  "az": "text",
  "backupEnabled": true,
  "cloudId": 1,
  "dbBackupPolicyId": "text",
  "diskSize": 1,
  "monitoringAlerting": true,
  "monitoringEnabled": true,
  "networkId": 1,
  "noBackupProdReason": "text",
  "noMonitoringProdReason": "text",
  "noReplicationProdReason": "text",
  "nodeSizing": "text",
  "onCallSupervision": true,
  "platform": "text",
  "postgreVersion": "text",
  "prefix": "text",
  "region": "text",
  "regulation": "text",
  "replicationEnabled": true,
  "serverBackupPolicyId": "text",
  "serviceId": 1,
  "tls": true,
  "topology": "STANDALONE",
  "trigram": "text",
  "name": "text",
  "nodePrefix": "text"
}
{
  "family": "text",
  "id": 1,
  "internalId": 1,
  "lastUpdatedAt": "2025-05-08T22:13:32.563Z",
  "message": "text",
  "process": "text",
  "resourceName": "text",
  "resourceType": "text",
  "status": "SUCCESS,IN_PROGRESS,ERROR"
}

Performs update state actions to an existing Postgre SQL instance

patch

This method allows to update a PostgreSQL instance.

Structure of payload is generic and describes :

  • operation you want to be performed
  • options data relative to the operation performed - see details - optional.

Below are different operations currently implemented.

Start PostgreSQL instance

Use the start operation to start a PostgreSQL instance.

Starts PostgreSQL instance.

This method is asynchronous (status code 202).

Example :

PATCH /postgresql/1234
{
    "operation": "start"
}

Stop PostgreSQL instance

Use the stop operation to stop the nodes of the PostgreSQL instance and the instance itself.

This operation cannot be undone afterwards.

This method is asynchronous (status code 202).

PATCH /postgresql/1234
{
	"operation":"stop"
}

Resize PostgreSQL instance

Use the resize operation to resize the nodes of the PostgreSQL instance and the instance itself.

This operation cannot be undone afterwards.

This method is asynchronous (status code 202).

PATCH /postgresql/1234
{
	"operation":"resize",
	"options": {
        "sizing": "2cpu4gb"
    }
}

Restore PostgreSQL instance

Use the restore operation to restore a PostgreSQL instance to another PostgreSQL instance with the same farm version.

  • the source instance must be backed up.
  • the source instance and destination farm must be ACTIVE
  • the timestamp must be between now and now - 14 days for production service and now - 7 days for non production service→ raise exception
  • timestamp should respect the format described in Json Schema (date-time) The following is correct : 2022-11-02T09:32:02.000+00:00

The available stop options are BEFORE and AFTER.

This method is asynchronous (status code 202).

PATCH /postgresql/5678
{
	"operation": "restore",
	"options": {
	    "sourceId": 1234,
	    "stop": "BEFORE",
	    "timestamp": "2022-11-02T09:32:02.000+00:00"
	}
}

Convert from Standalone to HA PostgreSQL instance

Use the enable_ha operation to convert a PostgreSQL instance from Standalone to HA mode.

  • the replicationLag must be between 1 and 500.
  • The standalone instance must have a version greater or egal to 12.
  • changeReference is optional

This method is asynchronous (status code 202).

PATCH /postgresql/5678
{
	"operation": "enable_ha",
	"options": {
	    "replicationLag": 50,
	    "changeReference": "000"
	}
}

Update Monitoring

Use the update_monitoring operation to update the monitoring state of the cluster.

Use the state option to turn on/off monitoring. Use the on_call option to turn on/off 24/7 monitoring.

This method is asynchronous (status code 202).

PATCH /postgresql/1234
{
  "operation": "update_monitoring",
  "options": {
       "state": true,
       "on_call": true
 }
}

Update Patch Party

Use the update_patch_party operation to update the patch party scheduled plan of the cluster.

  • Use the excluded option to turn on/off patch party.
  • Use the patchGroup option to select the patching group, the patchGroup is optional, and is only allowed when the farm has one member.
  • Use the exclusionReason option to explain the reason of excluding the resource from patch part.

This method is synchronous (status code 202).

  • Include from patch party body:
PATCH /postgresql/1234
{
  "operation": "update_patch_party",
  "options": {
    "patchParty": {
        "excluded": false,
        "patchGroup": "3"
    }
 }
}
  • Exclude from patch party body:
PATCH /postgresql/1234
{
  "operation": "update_patch_party",
  "options": {
    "patchParty": {
        "excluded": true,
        "exclusionReason": "I want to handle this by myself"
    }
 }
}

Install PostgreSQL extension

Use the install_extension operation to install an extension in the PostgreSQL.

This method is asynchronous (status code 202).

PATCH /postgresql/1234
{
	"operation":"install_extension",
	"options": {
        "dbname": "mydb",
        "extensions_list": [
        		{"name": "ext1"},
        		{"name": "ext2"}
        ]
    }
}

Upgrade PostgreSQL version

Use the upgrade operation to upgrade the PostgreSQL version.

This method is asynchronous (status code 202).

PATCH /postgresql/1234
{
	"operation":"upgrade",
	"options": {
        "targetVersion": "12",
        "changeReference": "RFC 1234"
    }
}
Authorizations
Path parameters
idinteger · int64Required

id, example: 123

Body
operationstringOptional
Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
patch
PATCH /itcare/databases/postgresql/{id} HTTP/1.1
Host: api.cegedim.cloud
Content-Type: application/json
Accept: */*
Content-Length: 61

{
  "operation": "text",
  "options": {
    "ANY_ADDITIONAL_PROPERTY": {}
  }
}
{
  "family": "text",
  "id": 1,
  "internalId": 1,
  "lastUpdatedAt": "2025-05-08T22:13:32.563Z",
  "message": "text",
  "process": "text",
  "resourceName": "text",
  "resourceType": "text",
  "status": "SUCCESS,IN_PROGRESS,ERROR"
}