# Collectives

## Get collective info <a href="#get-info" id="get-info"></a>

Get detailed information about a collective:

`/:collectiveSlug.:format(json|csv)`

E.g.: <https://opencollective.com/webpack.json>

```
{
  "slug": "webpack",
  "currency": "USD",
  "image": "https://cl.ly/221T14472V23/icon-big_x6ot1e.png",
  "balance": 7614777,
  "yearlyIncome": 28499262,
  "backersCount": 556,
  "contributorsCount": 1098
}
```

Notes:

* `image` is the logo of the collective
* all amounts are in the smaller unit of the currency (cents)
* `backersCount` includes both individual backers and organizations (sponsors)
* `yearlyIncome` is the projection of the annual budget based on previous donations and monthly pledges

## Get members <a href="#get-members" id="get-members"></a>

Returns all members of the collectives (core contributors, contributors, backers, sponsors)

`/:collectiveSlug/members.:format(json|csv)`

You can also filter by member type (`USER` or `ORGANIZATION`):

`/:collectiveSlug/members/:memberType(all|users|organizations).:format(json|csv)`

E.g.

* <https://opencollective.com/webpack/members.json?limit=10&offset=0>
* <https://opencollective.com/webpack/members/all.json?limit=10&offset=0>

```
[
  {
    "MemberId": 8198,
    "createdAt": "2017-10-25 09:52",
    "type": "USER",
    "role": "BACKER",
    "tier": "Backer",
    "isActive": true,
    "totalAmountDonated": 1000,
    "currency": "USD",
    "lastTransactionAt": "2018-02-01 10:53",
    "lastTransactionAmount": 200,
    "profile": "https://opencollective.com/ralph03",
    "name": "Ralph03",
    "company": null,
    "description": "",
    "image": "https://opencollective-production.s3-us-west-1.amazonaws.com/882e5a00-ce64-11e7-ae39-cb1f4eb45be3.jpg",
    "email": null,
    "twitter": null,
    "github": "https://github.com/kazup01",
    "website": null
  },
  ...
]
```

Parameters:

* limit: number of members to return per call
* offset: number of members to skip (for pagination)

Notes:

* `github` is verified via oauth but `twitter` is not
* `email` returns null unless you make an authenticated call using the `accessToken` of one of the admins of the collective
* all amounts are in the smaller unit of the currency (cents)
* `type` can be `USER`, `ORGANIZATION` or `COLLECTIVE`
* `role` can be `ADMIN`, `MEMBER`, `BACKER`, `ATTENDEE`, `FOLLOWER`
* `tier` is the name of the tier
* `isActive` specifies if the backer has an active subscription

## Get members per tier <a href="#get-members-per-tier" id="get-members-per-tier"></a>

`/:collectiveSlug/[all|users|organizations].:format(json|csv)?TierId=:TierId`

You can find the `TierId` by looking at the URL after clicking on a Tier Card on the collective page (e.g. `TierId` for <https://opencollective.com/webpack/order/266> is `266`).

Alternatively, you can also use the slug of a tier:

`/:collectiveSlug/tiers/:tierSlug/[all|users|organizations].format(json|csv)`

E.g.

* <https://opencollective.com/babel/members/all.json?TierId=1906&limit=10&offset=0>
* <https://opencollective.com/babel/tiers/gold-sponsors/all.json?limit=10&offset=0>

```
[
  {
    "MemberId": 5485,
    "createdAt": "2017-07-07 16:44",
    "type": "ORGANIZATION",
    "role": "BACKER",
    "tier": "Gold Sponsors",
    "isActive": true,
    "totalAmountDonated": 2600,
    "currency": "USD",
    "lastTransactionAt": "2018-02-01 20:23",
    "lastTransactionAmount": 1000,
    "profile": "https://opencollective.com/amp",
    "name": "AMP Project",
    "company": "",
    "description": null,
    "image": "https://opencollective-production.s3-us-west-1.amazonaws.com/68ed8b70-ebf2-11e6-9958-cb7e79408c56.png",
    "email": null,
    "twitter": "https://twitter.com/amphtml",
    "github": null,
    "website": "https://www.ampproject.org/"
  },
  {
    "MemberId": 8263,
    "createdAt": "2017-10-26 23:08",
    "type": "ORGANIZATION",
    "role": "BACKER",
    "tier": "Gold Sponsors",
    "isActive": true,
    "totalAmountDonated": 5000,
    "currency": "USD",
    "lastTransactionAt": "2018-02-02 00:08",
    "lastTransactionAmount": 1000,
    "profile": "https://opencollective.com/fbopensource",
    "name": "Facebook Open Source",
    "company": null,
    "description": "Facebook Open Source Team",
    "image": "http://res.cloudinary.com/opencollective/image/upload/v1508519428/S9gk78AS_400x400_fulq2l.jpg",
    "email": null,
    "twitter": "https://twitter.com/fbOpenSource",
    "github": null,
    "website": "https://code.facebook.com/projects/"
  }
]
```

## Get transactions from collective <a href="#get-transactions-from-collective" id="get-transactions-from-collective"></a>

`/v1/collectives/:collectiveSlug/transactions?type=:type&limit=:limit&offset=:offset&dateFrom=:dateFrom&dateTo=:dateTo&type=:includeVirtualCards`

Return All Transactions of a collective given its slug.

### Parameters <a href="#parameters" id="parameters"></a>

* limit: number of members to return per call
* offset: number of members to skip (for pagination)
* type: filter transactions of type `DEBIT` or `CREDIT`
* dateFrom: the start date (format `YYYY-MM-DD`) to be considered when returning the data
* dateTo: the end date (format `YYYY-MM-DD`) to be considered when returning the data
* includeVirtualCards: a boolean that, if true, will include the transactions generated by all virtual cards issued by the specified collective

### Curl command <a href="#curl-command" id="curl-command"></a>

```
curl "https://api.opencollective.com/v1/collectives/opencollective-company/transactions" \
  -H "Content-Type: application/json"\
  -H "Client-Id: ${ClientId}"
```

PS: For more details on how to have a Client ID/API Key, get in touch.

E.g.

* Including Virtual Card transactions (transactions that used a virtual card that was issued by the collective): <https://api.opencollective.com/v1/collectives/opencollectiveinc/transactions?api_key=YOUR_API_KEY&includeVirtualCards=true>
* NOT Including Virtual Cards: <https://api.opencollective.com/v1/collectives/opencollectiveinc/transactions?api_key=YOUR_API_KEY>
* Using `limit=20`, `type=DEBIT` and `offset=5`: <https://api.opencollective.com/v1/collectives/opencollectiveinc/transactions?api_key=YOUR_API_KEY&includeVirtualCards=true&limit=20&type=DEBIT&offset=5>

### Output <a href="#output" id="output"></a>

The output will be a json with a result property that will contain an array. here is an example:

```
{
   "result": [
      {
         "id": 9047,
         "uuid": null,
         "type": "CREDIT",
         "amount": 500,
         "currency": "USD",
         "hostCurrency": "USD",
         "hostCurrencyFxRate": 1,
         "hostFeeInHostCurrency": -25,
         "platformFeeInHostCurrency": -25,
         "paymentProcessorFeeInHostCurrency": -45,
         "netAmountInCollectiveCurrency": 405,
         "createdAt": "Sun Apr 30 2017 22:33:49 GMT-0400 (Eastern Daylight Time)",
         "updatedAt": "Thu Mar 08 2018 15:24:33 GMT-0500 (Eastern Standard Time)",
         "host": {
            "id": 8686,
            "slug": "opencollectiveinc"
         },
         "createdByUser": {
            "id": 3605,
            "email": null
         },
         "fromCollective": {
            "id": 4505,
            "slug": "christinabowen"
         },
         "collective": {
            "id": 1,
            "slug": "opencollective-company"
         },
         "paymentMethod": {
            "id": 2198
         }
      },
      {
         "id": 7698,
         "uuid": null,
         "type": "CREDIT",
         "amount": 500,
         "currency": "USD",
         "hostCurrency": "USD",
         "hostCurrencyFxRate": 1,
         "hostFeeInHostCurrency": -25,
         "platformFeeInHostCurrency": -25,
         "paymentProcessorFeeInHostCurrency": -45,
         "netAmountInCollectiveCurrency": 405,
         "createdAt": "Fri Mar 31 2017 22:25:57 GMT-0400 (Eastern Daylight Time)",
         "updatedAt": "Thu Mar 08 2018 15:23:18 GMT-0500 (Eastern Standard Time)",
         "host": {
            "id": 8686,
            "slug": "opencollectiveinc"
         },
         "createdByUser": {
            "id": 3605,
            "email": null
         },
         "fromCollective": {
            "id": 4505,
            "slug": "christinabowen"
         },
         "collective": {
            "id": 1,
            "slug": "opencollective-company"
         },
         "paymentMethod": {
            "id": 2198
         }
      }
   ]
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.opencollective.com/help/contributing/development/api/collectives.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
