Skip to content

Latest commit

 

History

History
258 lines (217 loc) · 8.88 KB

collectives.md

File metadata and controls

258 lines (217 loc) · 8.88 KB

Collectives

Get collective info

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

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.

[
  {
    "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

/: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.

[
  {
    "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

/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

  • 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

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.

Output

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
         }
      }
   ]
}