---
category: [Administration & Integrations, Administration & Integrations/Custom Integrations & Apps, Platform and Product Extensions, Platform and Product Extensions/Workday Extend, Platform and Product Extensions/Integration]
keyword: [Extend, Model Components, Extend Business Objects, MCBO, Model Component Business Objects, Business Objects, Model BO]
nav: wcp_docs
parent_url: /wcp_docs/
title: >- 
  Reference: Business Object API Requests
layout: subsection
---

<a id="section_N10021_N1001E_N10001"></a>
Each business object you create generates an API in the form of:

```
https://{basePath}/apps/{appId}/v1/{defaultCollectionName}
```

where:

-   `{basePath}`: The regional URL base path.
-   `{appId}`: The reference ID of the Extend app.
-   `{defaultCollectionName}`: The default collection name of the business object. Example: <i>charities</i>.


The Business Object API supports these HTTP methods:

-   GET
-   POST
-   PUT
-   PATCH
-   DELETE


You can use all of the fields defined on the business object in the request body.

Workday Extend also generates query parameters for all indexed (`SINGLE_INSTANCE`) fields of Extend business objects. For more information, see [Example: Query Parameters in Business Object API Requests](/wcp_docs/iuv1669766878068.html).

<b>Note:</b> To access the Business Object API from an external app, you must:

-   Create an OAuth 2.0 API client on the Workday Developer Site.
-   Select the <i>Workday-Owned</i> scope to access the resources.


## <a id="section_vv1_xl3_zhb"></a>Example: Create a Charity Object

<b>API Endpoint:</b>

https://api.workday.com/apps/charitableDonations_abcdef/v1/charities

<b>Operation:</b>

-   POST


<b>Headers:</b>

-   Content-Type : application/json.
-   Authorization : Bearer + token (your app uses this token to make all access requests for the API Gateway).


<b>Request Body:</b>

```
{
    "name": "Alameda County Food Bank",
    "description": "Distributing millions of healthy meals every year.",
    "matchDonations": true,
    "relationshipManager": {"id":"Employee_ID=21001"}

}
```

<b>cURL Request:</b>

```
curl --request POST \
  --url https://api.workday.com/apps/charitableDonations_abcdef/v1/charities/ \
  --header 'authorization: Bearer [token]' \
  --header 'content-type: application/json' \
  --data '{
    "name": "Alameda County Food Bank",
    "description": "Distributing millions of healthy meals every year.",
    "matchDonations": true,
    "relationshipManager": {"id":"Employee_ID=21001"}

}'
```

## <a id="section_dr3_mfq_c3b"></a>Example: Update a Charity Object

<b>API Endpoint:</b>

https://api.workday.com/apps/charitableDonations_abcdef/v1/charities/{charityWID}

<b>Operation:</b>

-   PUT


<b>Headers:</b>

-   Content-Type : application/json.
-   Authorization : Bearer + token (your app uses this token to make all access requests for the API Gateway).


<b>Request Body:</b>

```
{
    "name": "Alameda County Food Bank",
    "description": "Distributing millions of healthy meals every year.",
    "matchDonations": true,
    "relationshipManager": {"id":"Employee_ID=21001"}

}
```

<b>cURL Request:</b>

```
curl --request PUT \
  --url https://api.workday.com/apps/charitableDonations_abcdef/v1/charities/charityWID \
  --header 'authorization: Bearer [token]' \
  --header 'content-type: application/json' \
  --data '{
    "name": "Alameda County Food Bank",
    "description": "Distributing millions of healthy meals every year.",
    "matchDonations": true,
    "relationshipManager": {"id":"Employee_ID=21001"}
}'
```

<b>Operation:</b>

-   PATCH


<b>Headers:</b>

-   Content-Type : application/json.
-   Authorization : Bearer + token (your app uses this token to make all access requests for the API Gateway).


<b>Request Body:</b>

```
{
    "matchDonations": false,
    "relationshipManager": {"id":"Employee_ID=21002"}
}
```

<b>cURL Request:</b>

```
curl --request PATCH \
    --url https://api.workday.com/apps/charitableDonations_abcdef/v1/charities/charityWID \
    --header 'authorization: Bearer [token]' \
    --header 'content-type: application/json' \
    --data '{
    "matchDonations": false,
    "relationshipManager": {"id":"Employee_ID=21002"}
}'
```

<b>Note:</b> Only apps deployed to a WCP Development tenant after November 10, 2020 support the PATCH operation.

## <a id="section_wjf_jv2_jmb"></a>Bulk Operations

The POST, PUT, PATCH, and DELETE methods support bulk operations. To create, update, or delete up to 100 instances of a business object in a single request, append the `?bulk=true` query parameter to the HTTP request URL.

<b>Note:</b> For the PUT, PATCH, and DELETE methods, you must include the instance ID in the request body.

<b>Bulk POST Request URL:</b>

```
POST https://api.workday.com/apps/charitableDonations_abcdef/v1/charities?bulk=true
```

<b>Bulk POST Request Body:</b>

```
{
    "data": [
    {
        "name": "Employee Assistance Program",
        "description": "Assist your fellow employees in their time of need. Charitable donations support employees through natural disasters, unexpected loss, and other hardships.",
        "matchDonations": true,
        "relationshipManager": {
            "descriptor": "James Moore (Recruiter, 1000)",
            "id": "f21231394b71433c8f75f6fe78264f33"
        }
    },
    {
        "name": "Animal Welfare",
        "description": "Your charitable donations will provide animal training and veterinary services, and equip trusted organizations to protect animals from abuse.",
        "matchDonations": false,
        "relationshipManager": {
            "descriptor": "James Moore (Recruiter, 1000)",
            "id": "f21231394b71433c8f75f6fe78264f33"
        }
    }
    ]
}
```

<b>Bulk PUT Request URL:</b>

```
PUT https://api.workday.com/apps/charitableDonations_abcdef/v1/charities?bulk=true
```

<b>Bulk PUT Request Body:</b>

```
{
    "data": [
    {
        "id": "bd304b424c3f812705b509291a007505",
        "name": "Employee Assistance Program",
        "description": "Assist your fellow employees in their time of need. Charitable donations support employees through natural disasters, unexpected loss, and other hardships.",
        "matchDonations": true,
        "relationshipManager": {
            "descriptor": "James Moore (Recruiter, 1000)",
            "id": "f21231394b71433c8f75f6fe78264f33"
        }
    },
    {
        "id": "bd304b424c3f811cb5cc09291a007605",
        "name": "Animal Welfare",
        "description": "Your charitable donations will provide animal training and veterinary services, and equip trusted organizations to protect animals from abuse.",
        "matchDonations": false,
        "relationshipManager": {
            "descriptor": "James Moore (Recruiter, 1000)",
            "id": "f21231394b71433c8f75f6fe78264f33"
        }
    }
    ]
}
```

<b>Bulk PATCH Request URL:</b>

```
PATCH https://api.workday.com/apps/charitableDonations_abcdef/v1/charities?bulk=true
```

<b>Bulk PATCH Request Body:</b>

```
{
    "data": [
    {
        "id": "bd304b424c3f812705b509291a007505",
        "relationshipManager": {
            "descriptor": "James Moore (Recruiter, 1000)",
            "id": "f21231394b71433c8f75f6fe78264f33"
        }
    },
    {
        "id": "bd304b424c3f811cb5cc09291a007605",
        "relationshipManager": {
            "descriptor": "James Moore (Recruiter, 1000)",
            "id": "f21231394b71433c8f75f6fe78264f33"
        }
    }
    ]
}
```

<b>Bulk DELETE Request URL:</b>

```
DELETE https://api.workday.com/apps/charitableDonations_abcdef/v1/charities?bulk=true
```

<b>Bulk DELETE Request Body:</b>

```
{
    "data": [
    {
       "id": "bd304b424c3f812705b509291a007505"
    },
    {
       "id": "bd304b424c3f811cb5cc09291a007605"
    }
  ]
}
```

<b>Note:</b> You can't use the bulk DELETE operation in your PMD.

### Related Information

[Reference: Workday Extend API Gateways and Authorization Base URLs](/wcp_docs/dlh1653340161856.html)

[Example: Order of Responses in Bulk Operations on Business Objects](/wcp_docs/xfx1669051402755.html)

