{
  "opencollection": "1.0.0",
  "info": {
    "name": "Oracle Siebel REST Contacts API",
    "version": "1.0"
  },
  "request": {
    "auth": {
      "type": "basic",
      "username": "{{username}}",
      "password": "{{password}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Contacts",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List contacts for an account",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{siebel-server}/siebel/v1.0/data/Account/Account/:AccountId/Contact",
            "params": [
              {
                "name": "AccountId",
                "value": "",
                "type": "path",
                "description": "Unique row identifier for the Account record"
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of field names to include in the response. When specified, only the listed fields are returned instead of all available fields."
              },
              {
                "name": "searchspec",
                "value": "",
                "type": "query",
                "description": "Siebel search specification expression for filtering records. Uses Siebel query language syntax with field names in square brackets and standard comparison operators."
              },
              {
                "name": "uniformresponse",
                "value": "",
                "type": "query",
                "description": "When set to 'yes' or 'y', forces the response to always use the JSON array format with an items wrapper, regardless of whether the result contains a single record or multiple records."
              },
              {
                "name": "PageSize",
                "value": "",
                "type": "query",
                "description": "Maximum number of records to return in the response. Controls pagination by limiting the result set size."
              },
              {
                "name": "StartRowNum",
                "value": "",
                "type": "query",
                "description": "Zero-based index of the first record to return. Used in combination with PageSize for pagination through large result sets."
              }
            ]
          },
          "docs": "Retrieve the Contact child business component records associated with a specific Account. Returns contact details including name, email, phone, and job title for all contacts linked to the parent account."
        },
        {
          "info": {
            "name": "Add or update a contact for an account",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{siebel-server}/siebel/v1.0/data/Account/Account/:AccountId/Contact",
            "params": [
              {
                "name": "AccountId",
                "value": "",
                "type": "path",
                "description": "Unique row identifier for the Account record"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Insert or update a Contact child record under a specific Account. Supports inserting single contacts or multiple contacts in a batch using an array payload."
        },
        {
          "info": {
            "name": "List contacts",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{siebel-server}/siebel/v1.0/data/Contact/Contact",
            "params": [
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of field names to include in the response. When specified, only the listed fields are returned instead of all available fields."
              },
              {
                "name": "searchspec",
                "value": "",
                "type": "query",
                "description": "Siebel search specification expression for filtering records. Uses Siebel query language syntax with field names in square brackets and standard comparison operators."
              },
              {
                "name": "ChildLinks",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of child business component names to include as link references in the response. Use 'None' to suppress all child links."
              },
              {
                "name": "uniformresponse",
                "value": "",
                "type": "query",
                "description": "When set to 'yes' or 'y', forces the response to always use the JSON array format with an items wrapper, regardless of whether the result contains a single record or multiple records."
              },
              {
                "name": "ViewMode",
                "value": "",
                "type": "query",
                "description": "Access control mode that determines which records are visible. Personal returns records owned by the user, Sales Rep uses position-based access, and Organization uses organization-level visibility rules."
              },
              {
                "name": "PageSize",
                "value": "",
                "type": "query",
                "description": "Maximum number of records to return in the response. Controls pagination by limiting the result set size."
              },
              {
                "name": "StartRowNum",
                "value": "",
                "type": "query",
                "description": "Zero-based index of the first record to return. Used in combination with PageSize for pagination through large result sets."
              }
            ]
          },
          "docs": "Retrieve a collection of Contact business component records from the Contact business object. Returns contact details including name, email, phone number, job title, and account associations."
        },
        {
          "info": {
            "name": "Create a contact",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{siebel-server}/siebel/v1.0/data/Contact/Contact",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Insert a new Contact business component record into the Contact business object. The request body must contain the required contact fields including First Name, Last Name, and Primary Organization Id."
        },
        {
          "info": {
            "name": "Get a contact by ID",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{siebel-server}/siebel/v1.0/data/Contact/Contact/:ContactId",
            "params": [
              {
                "name": "ContactId",
                "value": "",
                "type": "path",
                "description": "Unique row identifier for the Contact record"
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of field names to include in the response. When specified, only the listed fields are returned instead of all available fields."
              },
              {
                "name": "ChildLinks",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of child business component names to include as link references in the response. Use 'None' to suppress all child links."
              }
            ]
          },
          "docs": "Retrieve a single Contact business component record by its unique row identifier."
        },
        {
          "info": {
            "name": "Upsert a contact",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{siebel-server}/siebel/v1.0/data/Contact/Contact/:ContactId",
            "params": [
              {
                "name": "ContactId",
                "value": "",
                "type": "path",
                "description": "Unique row identifier for the Contact record"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Insert or update a Contact business component record by its unique row identifier."
        },
        {
          "info": {
            "name": "Delete a contact",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{siebel-server}/siebel/v1.0/data/Contact/Contact/:ContactId",
            "params": [
              {
                "name": "ContactId",
                "value": "",
                "type": "path",
                "description": "Unique row identifier for the Contact record"
              }
            ]
          },
          "docs": "Delete a Contact business component record by its unique row identifier."
        }
      ]
    }
  ],
  "bundled": true
}