Dokumentasi API

Anda dapat melihat dokumentasi versi lama melalui tautan berikut.

Piramida menyediakan layanan API HTTP publik yang dapat diakses melalui tautan https://ojk-invest-api.vercel.app/api. Data yang disajikan oleh API Piramida diperbaharui setiap hari pada pukul 00:00 Waktu Indonesia Barat (WIB).

Seluruh respon dari permintaan yang dikirimkan pada API Piramida memiliki cache publik yang disimpan selama 24 jam sejak pengembalian respon pertama.

Terdapat dua bentuk API yang disediakan oleh Piramida, yaitu REST API dan GraphQL API.

Resource

API Piramida menyediakan data yang bersumber dari Otoritas Jasa Keuangan Republik Indonesia dalam bentuk kumpulan resource yang dapat dipanggil sebagai endpoint HTTP.

Terdapat tiga buah resource utama yang disediakan oleh API Piramida.

Apps

Apps merupakan entitas yang merepresentasikan sebuah aplikasi managemen reksa dana yang diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.

Berikut merupakan salah satu contoh dari entitas Apps.

{
  "id": 1,
  "name": "ACME Inc.",
  "url": "https://www.example.com",
  "owner": "PT. Budi Makmur"
}

Apps memiliki empat buah properti yang masing-masing menyimpan informasi-informasi berikut.

  • idinteger

    Nomor ID aplikasi sesuai data yang disimpan oleh Otoritas Jasa Keuangan Republik Indonesia.

  • namestring

    Nama aplikasi managemen reksa dana yang diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.

  • urlstring

    Halaman situs pihak penyedia aplikasi.

  • ownerstring

    Pihak pemilik aplikasi. Dapat berupa individu atau badan usaha resmi.

Illegals

Illegals merupakan sebuah entitas yang merepresentasikan sebuah produk investasi yang telah dinyatakan ilegal oleh Otoritas Jasa Keuangan Republik Indonesia.

Berikut merupakan salah satu contoh dari entitas Illegals.

{
  "id": 1,
  "name": "Acme Inc.",
  "alias": [
    "ACME"
  ],
  "address": "Jln. Merdeka Barat no. 2",
  "number": [
    "08123456789"
  ],
  "email": [
    "john.doe@acme.com"
  ],
  "urls": [
    "http://acme.com"
  ],
  "type": "Investasi Saham",
  "inputDate": "18/08/2016",
  "details": ""
}

Illegals memiliki sepuluh properti yang masing-masing menyimpan informasi berikut.

  • idinteger

    Nomor ID produk investasi ilegal sesuai data yang disimpan oleh Otoritas Jasa Keuangan Republik Indonesia.

  • namestring

    Nama produk investasi yang telah dinyatakan ilegal oleh Otoritas Jasa Keuangan Republik Indonesia.

  • aliasstring array

    Nama alternatif atau alias yang dapat mewakili atau merepresentasikan produk investasi terkait.

  • addressstring

    Alamat pihak penyedia produk investasi ilegal.

  • numberstring array

    Nomor kontak yang digunakan oleh produk investasi ilegal.

  • emailstring array

    Alamat email yang digunakan oleh produk investasi ilegal.

  • urlsstring array

    Situs yang digunakan oleh produk investasi ilegal.

  • typestring

    Jenis aktivitas investasi yang ditawarkan oleh produk investasi ilegal.

  • inputDatestring

    Tanggal penambahan data produk investasi ilegal yang bersangkutan pada basis data Otoritas Jasa Keuangan Republik Indonesia. Disimpan dalam format DD/MM/YYYY.

  • detailsstring

    Informasi tambahan mengenai produk investasi ilegal.

Products

Products merupakan entitas yang merepresentasikan sebuah produk reksa dana legal yang telah diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.

Berikut merupakan salah satu contoh dari entitas Products.

{
  "id": 1,
  "name": "Dana Obligasi ACME",
  "management": "Acme Inc.",
  "custodian": "Acme Inc.",
  "type": "Capital Protected Fund"
}

Products memiliki lima buah properti yang masing-masing menyimpan informasi-informasi berikut.

  • idinteger

    Nomor ID produk reksa dana sesuai data yang disimpan oleh Otoritas Jasa Keuangan Republik Indonesia.

  • namestring

    Nama produk reksa dana yang diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.

  • managementstring

    Pihak pengelola produk reksa dana.

  • custodianstring

    Bank kustodian dari produk reksa dana.

  • typestring

    Jenis produk reksa dana.

REST API

Bentuk Data

Setiap data yang dikembalikan oleh REST API akan dikembalikan dalam bentuk JSON. Berikut merupakan contoh data yang dikembalikan oleh API Piramida.

{
  "data": {},
  "error": ""
}

Data kembalian dari REST API Piramida memiliki dua buah properti, yaitu:

  • dataobject

    Data dari hasil permintaan yang dikembalikan. Akan bernilai null apabila errortidak bernilai null.

  • errorstring

    Pesan kesalahan yang terjadi selama API melayani permintaan. Akan bernilai null apabila data tidak bernilai null.

Nilai kembalian dari data akan selalu memiliki dua properti berikut.

  • <resource>object

    Entitas yang dicari. Dapat merupakan kumpulan entitas dalam bentuk array atau sebuah entitas tunggal.

  • versionstring

    Tanggal pembaharuan data. Disimpan dalam format DD/MM/YYYY.

Seluruh endpoint yang mengembalikan banyak entitas sekaligus akan memiliki satu buah properti tambahan.

  • countinteger

    Jumlah entitas yang memenuhi kriteria pencarian.

Status HTTP

Terdapat tiga buah respon HTTP yang dapat dikembalikan sebagai respon permintaan oleh REST API Piramida, yaitu:

  • 200

    Permintaan berhasil diproses dan data berhasil dikembalikan.

  • 400

    Terdapat parameter permintaan yang salah atau memiliki nilai yang tidak diizinkan. Penyebab kesalahan ditunjukkan melalui properti error.

  • 404

    Halaman atau resource yang Anda cari tidak dapat ditemukan pada API Piramida.

  • 405

    Permintaan dikirimkan menggunakan method HTTP yang tidak diizinkan. Seluruh endpoint dalam API Piramida hanya dapat dipanggil menggunakan method GET.

  • 500

    Terdapat kesalahan tidak terduga yang dialami oleh peladen.

Endpoint Apps

Kumpulan endpoint yang dapat digunakan untuk memperoleh informasi mengenai aplikasi managemen reksa dana yang diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.

GET — /api/apps

Mengembalikan seluruh aplikasi manajemen reksa dana yang telah dinyatakan legal oleh Otoritas Jasa Keuangan Republik Indonesia sesuai dengan parameter permintaan yang diberikan.

Parameter Permintaan
  • namestring

    Pola nama yang ingin dicari dari daftar aplikasi.

  • limitinteger

    Jumlah data maksimum yang dapat dikembalikan.

  • offsetinteger

    Indeks pertama dari data yang diminta.

Contoh penggunaan endpoint

Permintaan

curl https://ojk-invest-api.vercel.app/api/apps

Respon

{
  "data": {
    "apps": [
      {
        "id": 1,
        "name": "ACME",
        "url": "https://www.acme.com",
        "owner": "Acme Inc."
      }
    ],
    "count": 1,
    "version": "21/10/2021"
  },
  "error": ""
}

GET /api/apps/:id

Mengembalikan sebuah aplikasi manajemen reksa dana legal yang diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia yang memiliki nomor ID yang sama dengan parameter id.

Parameter Permintaan
  • idintegerrequired

    Nomor identitas dari aplikasi manajemen reksa dana yang diinginkan.

Contoh penggunaan endpoint

Permintaan

curl https://ojk-invest-api.vercel.app/api/apps/1

Respon

{
  "data": {
    "apps": {
      "id": 1,
      "name": "Ajaib",
      "url": "https://www.ajaib.co.id",
      "owner": "PT Takjub Teknologi Indonesia"
    },
    "version": "21/10/2021"
  },
  "error": ""
}

Endpoint Illegals

Kumpulan endpoint yang melayani seluruh permintaan mengenai produk investasi yang telah dinyatakan ilegal beredar di Indonesia oleh Otoritas Jasa Keuangan Republik Indonesia.

GET /api/illegals

Mengembalikan seluruh produk investasi yang telah dinyatakan ilegal beredar di Indonesia oleh Otoritas Jasa Keuangan Republik Indonesia sesuai dengan parameter permintaan yang diberikan.

Parameter Permintaan
  • namestring

    Pola nama yang ingin dicari dari daftar produk investasi ilegal.

  • limitinteger

    Jumlah data maksimum yang dapat dikembalikan.

  • offsetinteger

    Indeks pertama dari data yang diminta.

Contoh penggunaan endpoint

Permintaan

curl https://ojk-invest-api.vercel.app/api/illegals

Respon

{
  "data": {
    "illegals": [
      {
        "id": 1,
        "name": "Acme Inc.",
        "alias": [
          "ACME",
          "A.C.M.E"
        ],
        "address": "Jl. Peta no. 2",
        "number": [
          "08379670609"
        ],
        "email": [
          "acme@company.co.id"
        ],
        "urls": [
          "http://acme.com"
        ],
        "type": "Investasi Saham",
        "inputDate": "18/08/2016",
        "details": ""
      }
    ],
    "count": 1,
    "version": "21/10/2021"
  },
  "error": ""
}

GET /api/illegals/:id

Mengembalikan sebuah produk investasi yang telah dinyatakan ilegal beredar di Indonesia oleh Otoritas Jasa Keuangan Republik Indonesia yang memiliki nomor ID yang sama dengan parameter id.

Parameter Permintaan
  • idintegerrequired

    Nomor identitas dari aplikasi manajemen reksa dana yang diinginkan.

Contoh penggunaan endpoint

Permintaan

curl https://ojk-invest-api.vercel.app/api/illegals/1

Respon

{
  "data": {
    "illegals": {
      "id": 1,
      "name": "Acme Inc.",
      "alias": [
        "ACME",
        "A.C.M.E"
      ],
      "address": "Jl. Peta no. 2",
      "number": [
        "08379670609"
      ],
      "email": [
        "acme@company.co.id"
      ],
      "urls": [
        "http://acme.com"
      ],
      "type": "Investasi Saham",
      "inputDate": "18/08/2016",
      "details": ""
    },
    "version": "21/10/2021"
  },
  "error": ""
}

Endpoint Products

Kumpulan endpoint yang dapat digunakan untuk memperoleh informasi mengenai produk reksa dana legal yang telah diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.

GET — /api/products

Mengembalikan seluruh produk reksa dana legal yang telah diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia sesuai dengan parameter permintaan yang diberikan.

Parameter Permintaan
  • namestring

    Pola nama yang ingin dicari dari daftar produk investasi.

  • limitinteger

    Jumlah data maksimum yang dapat dikembalikan.

  • offsetinteger

    Indeks pertama dari data yang diminta.

Contoh penggunaan endpoint

Permintaan

curl https://ojk-invest-api.vercel.app/api/products

Respon

{
  "data": {
    "products": [
      {
        "id": 1,
        "name": "ACME",
        "management": "Acme Inc.",
        "custodian": "Acme Bank - Custody",
        "type": "Mixed Asset Fund"
      }
    ],
    "count": 1,
    "version": "21/10/2021"
  },
  "error": ""
}

GET /api/products/:id

Mengembalikan sebuah produk reksa dana legal yang telah diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia yang memiliki nomor ID yang sama dengan parameter id.

Parameter Permintaan
  • ididrequired

    Nomor identitas dari aplikasi manajemen reksa dana yang diinginkan.

Contoh penggunaan endpoint

Permintaan

curl https://ojk-invest-api.vercel.app/api/apps/1

Respon

{
  "data": {
    "products": {
      "id": 1,
      "name": "ACME",
      "management": "Acme Inc.",
      "custodian": "Acme Bank - Custody",
      "type": "Mixed Asset Fund"
    },
    "version": "21/10/2021"
  },
  "error": ""
}

GraphQL API

Selain REST API, Piramida juga menyediakan sebuah API GraphQL yang dapat diakses melalui tautan https://ojk-invest-api.vercel.app/api/graphql.

GraphQL merupakan sebuah query language alternatif dari REST. Keunggulan dari GraphQL dibandingkan REST API konvensional adalah pengguna dapat menentukan properti-properti mana saja yang dikembalikan dalam permintaan yang dikirim di mana hal tersebut dapat menyelesaikan masalah over-fetching maupun under-fetching serta menyediakan API yang lebih fleksibel.

Informasi mengenai tata cara penggunaan API GraphQL dapat dilihat melalui dokumentasi resmi GraphQL.

Penggunaan API GraphQL Piramida

Seluruh resource yang disediakan oleh REST API juga tersedia melalui API GraphQL yang dapat dipanggil sebagai query GraphQL.

Berikut merupakan sebuah contoh penggunaan API GraphQL Piramida untuk memperoleh data seluruh aplikasi reksa dana yang telah diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.

{
  apps {
    data {
      name
      owner
    }
    count
    version
  }
}

Permintaan tersebut akan menghasilkan data seperti berikut.

{
  "data": {
    "apps": {
      "data": [
        {
          "name": "ACME",
          "owner": "Acme Inc."
        }
      ],
      "count": 1,
      "version": "21/10/2021"
    }
  }
}

Untuk penggunaan lebih lanjut, Anda dapat mencoba menggunakan API GraphQL Piramida melalui sebuah antarmuka GraphQL playground yang dapat diakses melalui tautan https://ojk-invest-api.vercel.app/api/graphql.