Exemples de demande et de réponse GET, POST, PUT, PATCH

Les demandes et réponses GET, POST, PUT et PATCH nécessitent un corps de demande JSON.

Exemple de demande et de réponse GET

Voici un exemple de corps de demande JSON utilisé avec une méthode GET pour lister un utilisateur et la réponse.

Demande :


GET {{HOST}}/admin/v1/Users/{{userid}}

Réponse :

{
    "idcsCreatedBy": {
        "type": "App",
        "display": "Confidential App",
        "value": "<app_id>",
        "ocid": "ocid1.domainapp.oc1.<unique_id>",
        "$ref": "https://<domain_url>/admin/v1/Apps/<app_id>"
    },
    "id": "<user_id>",
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User": {
        "isFederatedUser": false,
        "preferredUiLandingPage": "MyApps"
    },
    "meta": {
        "created": "2024-10-24T19:07:26.810Z",
        "lastModified": "2024-10-24T19:07:26.810Z",
        "version": "ddf2b4979d704f3d813e2636630da678",
        "resourceType": "User",
        "location": "https://<domain_url>/admin/v1/Users/ocid1.user.oc1..<unique_id>"
    },
    "active": true,
    "displayName": "Barbara Jensen",
    "idcsLastModifiedBy": {
        "value": "<app_id>",
        "display": "Confidential App",
        "ocid": "ocid1.domainapp.oc1.<unique_id>",
        "type": "App",
        "$ref": "https://<domain_url>/admin/v1/Apps/<app_id>"
    },
    "name": {
        "givenName": "Barbara",
        "familyName": "Jensen",
        "formatted": "Barbara Jensen"
    },
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User": {
        "locked": {
            "on": false
        }
    },
    "ocid": "ocid1.user.oc1..<unique_id>",
    "userName": "bjensen",
    "emails": [
        {
            "value": "bjensen@exmple.com",
            "type": "work",
            "secondary": false,
            "verified": false,
            "primary": true
        },
        {
            "value": "bjensen@exmple.com",
            "type": "recovery",
            "secondary": false,
            "verified": false,
            "primary": false
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User"
    ],
    "domainOcid": "ocid1.domain.oc1..<unique_id>",
    "compartmentOcid": "ocid1.compartment.oc1..<unique_id>",
    "tenancyOcid": "ocid1.tenancy.oc1..<unique_id>",
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:capabilities:User": {
        "canUseApiKeys": true,
        "canUseAuthTokens": true,
        "canUseConsolePassword": true,
        "canUseCustomerSecretKeys": true,
        "canUseOAuth2ClientCredentials": true,
        "canUseSmtpCredentials": true,
        "canUseDbCredentials": true
    }
} 

Exemple de demande et de réponse POST

Voici un exemple de corps de demande JSON utilisé avec une méthode POST pour créer un nouvel utilisateur et la réponse.

Demande :

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:SearchRequest"],
  "attributes": ["displayName", "userName"],
  "filter":
          "userName sw \"bje\"",
  "startIndex": 1,
  "count": 10
}
Réponse :
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 1,
    "Resources": [
        {
            "displayName": "Barbara Jensen",
            "userName": "bjensen",
            "id": "<user_id>"
        }
    ],
    "startIndex": 1,
    "itemsPerPage": 10
}

Exemple de demande et de réponse PUT

Voici un exemple de corps de demande JSON utilisé avec une méthode PUT pour remplacer les informations sur l'utilisateur et la réponse.

Demande :

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "name": {
        "givenName": "Barbara",
        "familyName": "Jensen"
    },
    "userName": "bjensen@example.com",
    "active": true,
    "emails": [
        {
            "value": "bjensen@example.com",
            "primary": true,
            "type": "home",
            "verified": true
        },
        {
            "value": "bjensen@example.org",
            "type": "work"
        }
    ]
}

Réponse :

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "name": {
        "givenName": "Barbara",
        "familyName": "Jensen"
    },
    "userName": "bjensen@example.com",
    "active": true,
    "emails": [
        {
            "value": "bjensen@example.com",
            "primary": true,
            "type": "home",
            "verified": true
        },
        {
            "value": "bjensen@example.org",
            "type": "work"
        }
    ]
}

Exemple de demande et de réponse PATCH

Voici un exemple de corps de demande JSON utilisé avec une méthode PATCH pour modifier les informations sur l'utilisateur et la réponse.

Demande :

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
        {
            "op": "add",
            "path": "phoneNumbers",
            "value": [
                {
                    "value": "555-555-1111",
                    "type": "home"
                }
            ]
        }
    ]
}
Réponse :
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
        {
            "op": "replace",
            "path": "phoneNumbers",
            "value": [
                {
                    "value": "666-666-1111",
                    "type": "home"
                }
            ]
        }
    ]
} 
Note

  • L'attribut schemas est réglé à la collection de schémas qui correspond à la ressource. Par exemple, urn:ietf:params:scim:schemas:core:2.0:User, correspond à /Users. Voir Aperçu du schéma SCIM.

  • Les autres attributs sont des attributs utilisateur à définir.