Skip to content
Website

Filter Documents by attributes

Complete list of standard query attributes is listed in Document attributes.

GET/api/v1_2/documents

Complete list of standard query attributes is listed in Document attributes.

By default all documents (regular + archived) which match the filter are returned. You can request only archived or only regular documents with use of archived filter parameter. Possible values are “true” or “false”.

Query parameters

Name Example Description
agenda_id {{agenda_id}} required
modified_since 2015-01-13T15:38:02.0000000Z Datetime in iso8601 format
states[] ready uploaded|extracting|templating .. see table Document states
approval_states[] rejected rejected | approved
page 1 optional (default value is 1)

Headers

Name Example Description
Content-Type application/json -
Authorization Bearer demo_access_token -

Code examples

cURL

curl --request GET 'https://app.datamolino.com/api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer demo_access_token'

HTTP

GET /api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1 HTTP/1.1
Host: app.datamolino.com
Content-Type: application/json
Authorization: Bearer demo_access_token

JavaScript Fetch

const response = await fetch("https://app.datamolino.com/api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1", {
  method: "GET",
  headers: {
"Content-Type": "application/json",
"Authorization": "Bearer demo_access_token"
  },
});

const data = await response.json();

Node.js Axios

import axios from "axios";

const response = await axios({
  method: "get",
  url: "https://app.datamolino.com/api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1",
  headers: {
"Content-Type": "application/json",
"Authorization": "Bearer demo_access_token"
  }
});

console.log(response.data);

Python Requests

import requests

url = "https://app.datamolino.com/api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1"
headers = {
  "Content-Type": "application/json",
  "Authorization": "Bearer demo_access_token"
}

response = requests.request("GET", url, headers=headers)
response.raise_for_status()
print(response.json())

Ruby Net::HTTP

require 'json'
require 'net/http'

uri = URI("https://app.datamolino.com/api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1")
request = Net::HTTP::Get.new(uri)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer demo_access_token"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts JSON.parse(response.body)

Ruby on Rails

# app/services/datamolino_client.rb
require 'json'
require 'net/http'

class DatamolinoClient
  BASE_URL = "https://app.datamolino.com"

  def initialize(access_token: Rails.application.credentials.dig(:datamolino, :access_token))
@access_token = access_token
  end

  def request_filter_documents_by_attributes
uri = URI("#{BASE_URL}/api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1")
request = Net::HTTP::Get.new(uri)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer #{@access_token}"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end

JSON.parse(response.body)
  end
end

PHP Guzzle

<?php

use GuzzleHttp\Client;

$client = new Client();
$response = $client->request('GET', 'https://app.datamolino.com/api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1', [
'headers' => json_decode('{"Content-Type":"application/json","Authorization":"Bearer demo_access_token"}', true)
]);

echo $response->getBody();

Java OkHttp

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url("https://app.datamolino.com/api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1")
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer demo_access_token")
.method("GET", null)
.build();

Response response = client.newCall(request).execute();

C# HttpClient

using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Get, "https://app.datamolino.com/api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1");
request.Headers.Add("Authorization", "Bearer demo_access_token");

using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

Go Native

client := &http.Client{}
req, err := http.NewRequest("GET", "https://app.datamolino.com/api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1", nil)
if err != nil { panic(err) }
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer demo_access_token")

res, err := client.Do(req)
if err != nil { panic(err) }
defer res.Body.Close()

body, err := io.ReadAll(res.Body)
if err != nil { panic(err) }
fmt.Println(string(body))

Swift URLSession

import Foundation

var request = URLRequest(url: URL(string: "https://app.datamolino.com/api/v1_2/documents?agenda_id=12345&modified_since=2015-01-13T15:38:02.0000000Z&states[]=ready&approval_states[]=rejected&page=1")!)
request.httpMethod = "GET"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("Bearer demo_access_token", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)

Type to search…

↑↓ navigate↵ selectEsc close