JSON Schema: Resource

URI Template

/repositories/:repo_id/resources

Properties

- (string (max length: 255)) id_0

- (string (max length: 255)) id_1

- (string (max length: 255)) id_2

- (string (max length: 255)) id_3

- (string) external_ark_url

- (string) import_current_ark

- (array (string)) import_previous_arks

- (string) level

- (string (max length: 255)) other_level

- (string) slug

- (boolean) is_slug_auto

- (string) resource_type

- (object) tree

- (boolean) restrictions

- (string (max length: 65000)) repository_processing_note

- (string (max length: 255)) ead_id

- (string (max length: 255)) ead_location

- (string (max length: 65000)) finding_aid_title

- (string (max length: 65000)) finding_aid_subtitle

- (string (max length: 65000)) finding_aid_filing_title

- (string (max length: 255)) finding_aid_date

- (string (max length: 65000)) finding_aid_author

- (string) finding_aid_description_rules

- (string) finding_aid_language

- (string) finding_aid_script

- (string (max length: 65000)) finding_aid_language_note

- (string (max length: 65000)) finding_aid_sponsor

- (string (max length: 65000)) finding_aid_edition_statement

- (string (max length: 65000)) finding_aid_series_statement

- (string) finding_aid_status

- (string (max length: 65000)) finding_aid_note

- (array (JSONModel(:lang_material) object)) lang_materials

- (array (JSONModel(:extent) object)) extents

- (array (JSONModel(:revision_statement) object)) revision_statements

- (array (JSONModel(:date) object)) dates

- (array (JSONModel(:instance) object)) instances

- (array (JSONModel(:deaccession) object)) deaccessions

- (JSONModel(:collection_management) object) collection_management

- (JSONModel(:user_defined) object) user_defined

- (array (Object (ref, _resolved))) related_accessions

- (array (Object (ref, _resolved))) classifications

- (array ([{"type"=>"JSONModel(:note_bibliography) object"}, {"type"=>"JSONModel(:note_index) object"}, {"type"=>"JSONModel(:note_multipart) object"}, {"type"=>"JSONModel(:note_singlepart) object"}])) notes

- (JSONModel(:ark_name) object) ark_name

- (array (JSONModel(:metadata_rights_declaration) object)) metadata_rights_declarations

View Source


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# File 'common/schemas/resource.rb', line 3

{
  :schema => {
    "$schema" => "http://www.archivesspace.org/archivesspace.json",
    "version" => 1,
    "type" => "object",
    "parent" => "abstract_archival_object",
    "uri" => "/repositories/:repo_id/resources",
    "properties" => {

      "id_0" => {"type" => "string", "ifmissing" => "error", "maxLength" => 255},
      "id_1" => {"type" => "string", "maxLength" => 255},
      "id_2" => {"type" => "string", "maxLength" => 255},
      "id_3" => {"type" => "string", "maxLength" => 255},
      "external_ark_url" => {"type" => "string", "required" => false},

      "import_current_ark" => {"type" => "string"},

      "import_previous_arks" => {
        "type" => "array",
        "items" => {
          "type" => "string",
        }
      },

      "level" => {"type" => "string", "ifmissing" => "error", "dynamic_enum" => "archival_record_level"},
      "other_level" => {"type" => "string", "maxLength" => 255},

      "slug" => {"type" => "string"},
      "is_slug_auto" => {"type" => "boolean", "default" => true},

      "resource_type" => {"type" => "string", "dynamic_enum" => "resource_resource_type"},
      "tree" => {
          "type" => "object",
          "subtype" => "ref",
          "properties" => {
            "ref" => {
              "type" => "JSONModel(:resource_tree) uri",
              "ifmissing" => "error"
            },
            "_resolved" => {
              "type" => "object",
              "readonly" => "true"
            }
          }
      },

      "restrictions" => {"type" => "boolean", "default" => false},

      "repository_processing_note" => {"type" => "string", "maxLength" => 65000},

      "ead_id" => {"type" => "string", "maxLength" => 255},
      "ead_location" => {"type" => "string", "maxLength" => 255},

      # Finding aid
      "finding_aid_title" => {"type" => "string", "maxLength" => 65000},
      "finding_aid_subtitle" => {"type" => "string", "maxLength" => 65000},
      "finding_aid_filing_title" => {"type" => "string", "maxLength" => 65000},
      "finding_aid_date" => {"type" => "string", "maxLength" => 255},
      "finding_aid_author" => {"type" => "string", "maxLength" => 65000},
      "finding_aid_description_rules" => {"type" => "string", "dynamic_enum" => "resource_finding_aid_description_rules"},
      "finding_aid_language" => {"type" => "string", "dynamic_enum" => "language_iso639_2", "ifmissing" => "error"},
      "finding_aid_script" => {"type" => "string", "dynamic_enum" => "script_iso15924", "ifmissing" => "error"},
      "finding_aid_language_note" => {"type" => "string", "maxLength" => 65000},
      "finding_aid_sponsor" => {"type" => "string", "maxLength" => 65000},
      "finding_aid_edition_statement" => {"type" => "string", "maxLength" => 65000},
      "finding_aid_series_statement" => {"type" => "string", "maxLength" => 65000},
      "finding_aid_status" => {"type" => "string", "dynamic_enum" => "resource_finding_aid_status"},
      "finding_aid_note" => {"type" => "string", "maxLength" => 65000},

      # Languages (overrides abstract schema)
      "lang_materials" => {"type" => "array", "ifmissing" => "error", "minItems" => 1, "items" => {"type" => "JSONModel(:lang_material) object"}},

      # Extents (overrides abstract schema)
      "extents" => {"type" => "array", "ifmissing" => "error", "minItems" => 1, "items" => {"type" => "JSONModel(:extent) object"}},

      "revision_statements" => {"type" => "array", "items" => {"type" => "JSONModel(:revision_statement) object"}},

      # Dates (overrides abstract schema)
      "dates" => {"type" => "array", "ifmissing" => "error", "minItems" => 1, "items" => {"type" => "JSONModel(:date) object"}},

      "instances" => {"type" => "array", "items" => {"type" => "JSONModel(:instance) object"}},
      "deaccessions" => {"type" => "array", "items" => {"type" => "JSONModel(:deaccession) object"}},
      "collection_management" => {"type" => "JSONModel(:collection_management) object"},
      "user_defined" => {"type" => "JSONModel(:user_defined) object"},

      "related_accessions" => {
        "type" => "array",
        "items" => {
          "type" => "object",
          "subtype" => "ref",
          "properties" => {
            "ref" => {"type" => [{"type" => "JSONModel(:accession) uri"}],
                      "ifmissing" => "error"},
            "_resolved" => {
              "type" => "object",
              "readonly" => "true"
            }
          }
        }
      },

      "classifications" => {
              "type" => "array",
              "items" => {
                "type" => "object",
                "subtype" => "ref",
                "properties" => {
                  "ref" => {
                    "type" => [ { "type" => "JSONModel(:classification) uri"},
                                { "type" => "JSONModel(:classification_term) uri" }],
                    "ifmissing" => "error"
                  },
                  "_resolved" => {
                                "type" => "object",
                                "readonly" => "true"
                              }
                }
              }
      },

      "notes" => {
        "type" => "array",
        "items" => {"type" => [{"type" => "JSONModel(:note_bibliography) object"},
                               {"type" => "JSONModel(:note_index) object"},
                               {"type" => "JSONModel(:note_multipart) object"},
                               {"type" => "JSONModel(:note_singlepart) object"}]},
      },

      "ark_name" => {
        "type" => "JSONModel(:ark_name) object",
        "readonly" => true,
        "required" => false
      },
      "metadata_rights_declarations" => {"type" => "array", "items" => {"type" => "JSONModel(:metadata_rights_declaration) object"}},
    },
  },
}

Plain Text Version