{"openapi":"3.1.0","info":{"title":"Data Galactica API","version":"4.0.0","description":"Organisations and people in the Galactica Entity Standard v1 (https://datagalactica.com/standard), each with a permanent\nGalactica ID: DGC- for organisations, DGP- for people. The overall grade is about contact details:\nverified (claimed by its owner), gold (an e-mail and a phone, both checked), silver (an e-mail and a phone), bronze (less);\nsection grades say how well each part is sourced. Contact details are masked. When several records share a name, prefer the higher grade, and\nalways cite the Galactica ID and the page url. Industry filters use ISIC Rev.4: a section letter (J) or a 2-digit\ndivision (62), not NIC.\nAccess and price: every data call needs an account key (Authorization: Bearer <key>, X-API-Key, or\nOcp-Apim-Subscription-Key on https://api.datagalactica.com), or an OAuth token with scope api. Sign up at https://datagalactica.com/signup\n(Rs 50 free credit; agents: https://datagalactica.com/auth.md). Each answered call (HTTP 200) costs Rs 0.16 from the account's prepaid\nwallet; /batch and /match cost Rs 0.16 per record found or matched; errors and not-found answers are free, and so are\n/meta, /enums, /lists, /suggest, /talent, /research/market, the record /card, /account*, /watch, /changes, /check*,\n/me* and the UCP/ACP checkout. An empty wallet answers 402 insufficient_balance. Top-ups: Rs 500, 5,000 or 50,000\n(POST /api/v1/account/topup returns a pay link).\nContacts: every signed-in account gets \"contact\" (full e-mails and phones) on /person/{id}, /company/{id}, search and\n/people/search hits (20 a page), /company/{id}/people, /batch, /email/check and /person|company/{id}/contact (purpose\nrequired), or contact null with contact_reason owner_opted_out (owner hid or removed the record) or hourly_limit. Every\nread is logged with account, route and purpose. Checks, verifications, lists, /find, talent and research never carry a\nperson's contact; no route sends e-mail or SMS. Decisions (checks, verify, diligence) share one envelope: verdict,\nconfidence, grade, cite, conflicts, next. Owner endpoints: Galactica Check proves an e-mail with a 6-digit code (/api/v1/check/*); agents act\nfor an owner with OAuth 2.1 + PKCE (/api/v1/me*, notes), and every contribution is reviewed before it is published.","contact":{"email":"support@datagalactica.com"},"termsOfService":"https://datagalactica.com/terms","x-pricing":{"model":"prepaid wallet","currency":"INR","per_call":0.16,"free_credit":50,"top_ups":[500,5000,50000],"signup":"https://datagalactica.com/signup"}},"servers":[{"url":"https://api.datagalactica.com","description":"API gateway (Azure API Management)"},{"url":"https://datagalactica.com","description":"Direct"}],"paths":{"/api/v1/meta":{"get":{"security":[],"x-billing":{"per_call_inr":0},"summary":"Dataset counts and build date","responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getMeta"}},"/api/v1/company/{id}":{"get":{"x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"summary":"Organisation by id","parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGC-8SFS42RSWAX9"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"$ref":"#/components/schemas/Organization"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Not allowed: account_suspended, or for a pre-account full-data key key_unknown, key_revoked or key_expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getCompanyById"}},"/api/v1/organization/{id}":{"get":{"summary":"Organisation by id (alias of /company/{id})","parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"L85110KA1981PLC013115"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"$ref":"#/components/schemas/Organization"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Not allowed: account_suspended, or for a pre-account full-data key key_unknown, key_revoked or key_expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getOrganizationById"}},"/api/v1/person/{id}":{"get":{"x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"summary":"Person by id (public profiles only)","parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGP-929RKAMSQDNK"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"$ref":"#/components/schemas/Person"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Not allowed: account_suspended, or for a pre-account full-data key key_unknown, key_revoked or key_expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getPersonById"}},"/api/v1/search":{"get":{"x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"summary":"Search organisations, people, or both","description":"A query that is a name ranks well-known and gold records whose name, legal name or alias matches first, then exact names, then other matches. A one-letter word is ignored; a person search needs at least one word or filter. limit and offset are clamped, and the applied values come back in meta.","parameters":[{"name":"type","in":"query","required":false,"description":"company (default), person, or all (both, merged by match then grade then prominence; limit applies per type)","schema":{"type":"string","enum":["company","person","all"],"default":"company"}},{"name":"q","in":"query","required":false,"description":"Words to match in names and text","schema":{"type":"string","example":"infosys"}},{"name":"country","in":"query","required":false,"description":"ISO 3166-1 alpha-2 code","schema":{"type":"string","example":"IN"}},{"name":"city","in":"query","required":false,"description":"City name","schema":{"type":"string","example":"pune"}},{"name":"region","in":"query","required":false,"description":"State or region","schema":{"type":"string"}},{"name":"industry","in":"query","required":false,"description":"Organisations: ISIC Rev.4 section letter (J) or 2-digit division (62)","schema":{"type":"string","example":"J"}},{"name":"size","in":"query","required":false,"description":"Organisations: size band","schema":{"type":"string","enum":["micro","small","medium","large","enterprise"]}},{"name":"status","in":"query","required":false,"description":"Organisations: operating status","schema":{"type":"string","enum":["operating","closed"]}},{"name":"kind","in":"query","required":false,"description":"Organisations: kind","schema":{"type":"string","enum":["company","nonprofit","education","government"]}},{"name":"hiring","in":"query","required":false,"description":"Organisations: true = open roles on record","schema":{"type":"string","enum":["true"]}},{"name":"looking_for","in":"query","required":false,"description":"People: what they say they are open to, e.g. full-time job, internship","schema":{"type":"string"}},{"name":"skill","in":"query","required":false,"description":"People: a skill they list","schema":{"type":"string","example":"python"}},{"name":"degree","in":"query","required":false,"description":"People: degree","schema":{"type":"string"}},{"name":"college","in":"query","required":false,"description":"People: college","schema":{"type":"string"}},{"name":"employer","in":"query","required":false,"description":"People: employer","schema":{"type":"string"}},{"name":"interest","in":"query","required":false,"description":"People: interest","schema":{"type":"string"}},{"name":"occupation","in":"query","required":false,"description":"People: occupation","schema":{"type":"string"}},{"name":"function","in":"query","required":false,"description":"People: engineering, product, design, sales, marketing, finance, operations, people, legal, education, healthcare, research, customer, administration, media, public service, leadership","schema":{"type":"string"}},{"name":"seniority","in":"query","required":false,"description":"People: founder, executive, director, manager, senior, professional, entry, student","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"1 to 50, default 20","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"offset","in":"query","required":false,"description":"0 to 500, default 0","schema":{"type":"integer","minimum":0,"maximum":500,"default":0}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"data":{"type":"object","properties":{"type":{"type":"string"},"count":{"type":"integer"},"results":{"type":"array","items":{"$ref":"#/components/schemas/Hit"}}}},"meta":{"allOf":[{"$ref":"#/components/schemas/Meta"},{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"}}}]}}}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getSearch"}},"/api/v1/find":{"get":{"x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"summary":"Ask in plain words (AI)","operationId":"find","description":"A name or a question in plain English, read by a language model into the /search filters, matched, and topped up with records close in meaning. data.understood shows the reading; a plain name is matched without the model.","parameters":[{"name":"q","in":"query","required":true,"description":"A name or question, up to 300 characters","schema":{"type":"string","maxLength":300},"example":"engineers in bengaluru who know python"},{"name":"type","in":"query","required":false,"description":"company, person or all (default)","schema":{"type":"string","enum":["all","company","person"]}},{"name":"limit","in":"query","required":false,"description":"1 to 50, default 20","schema":{"type":"integer","minimum":1,"maximum":50}},{"name":"offset","in":"query","required":false,"description":"0 to 500","schema":{"type":"integer","minimum":0,"maximum":500}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"understood":{"type":["object","null"],"description":"The filters the question was read into, plus about (a topic matched by meaning)"},"count":{"type":"integer"},"next":{"type":["string","null"]},"results":{"type":"array","items":{"$ref":"#/components/schemas/Hit"}},"related":{"type":"array","items":{"$ref":"#/components/schemas/Hit"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/verify/company":{"get":{"summary":"Verify an organisation: does it exist, is it the one meant, is it operating","operationId":"verifyCompany","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"description":"Best match for a name (and country, city, website), or for an identifier, with a confidence (0 to 1), a verdict (match >= 0.8, possible_match >= 0.55, no_match), checks per field and other candidates. A not-found answer is free.","parameters":[{"name":"name","in":"query","required":false,"description":"Organisation name as the customer gave it","schema":{"type":"string","example":"Infosys Ltd"}},{"name":"country","in":"query","required":false,"description":"ISO 3166-1 alpha-2","schema":{"type":"string","example":"IN"}},{"name":"city","in":"query","required":false,"description":"City","schema":{"type":"string"}},{"name":"website","in":"query","required":false,"description":"Website or domain; a domain match weighs a lot","schema":{"type":"string","example":"infosys.com"}},{"name":"id","in":"query","required":false,"description":"Instead of name: CIN, LLPIN, LEI-<lei>, GB-<n>, CIK-<n>, Q-id or Galactica ID","schema":{"type":"string"}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"$ref":"#/components/schemas/Verification"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/verify/person":{"get":{"summary":"Verify a person in a role: is there a public record of them","operationId":"verifyPerson","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"description":"Best public record for a name, checked against employer, title, city and country. Contact details are never part of a verification.","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"example":"Salil Parekh"},{"name":"employer","in":"query","required":false,"description":"Organisation name","schema":{"type":"string","example":"Infosys"}},{"name":"title","in":"query","required":false,"description":"Job title","schema":{"type":"string"}},{"name":"city","in":"query","required":false,"description":"City","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"ISO 3166-1 alpha-2","schema":{"type":"string"}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"$ref":"#/components/schemas/Verification"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/resolve":{"get":{"summary":"Any identifier to its Galactica ID","operationId":"resolve","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"parameters":[{"name":"id","in":"query","required":true,"description":"CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id or Galactica ID","schema":{"type":"string"},"example":"L85110KA1981PLC013115"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"galactica_id":{"type":"string"},"type":{"type":"string","enum":["organization","person"]},"name":{"type":"string"},"url":{"type":"string"},"quality":{"$ref":"#/components/schemas/Grade"},"identifiers":{"type":"object"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/person/check":{"get":{"summary":"Check a person in a role (decision envelope)","operationId":"personCheck","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"example":"Salil Parekh"},{"name":"employer","in":"query","required":false,"description":"Organisation name","schema":{"type":"string"}},{"name":"title","in":"query","required":false,"description":"Job title","schema":{"type":"string"}},{"name":"domain","in":"query","required":false,"description":"Employer website","schema":{"type":"string"}},{"name":"city","in":"query","required":false,"description":"City","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"ISO 3166-1 alpha-2","schema":{"type":"string"}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"allOf":[{"$ref":"#/components/schemas/Decision"},{"type":"object","properties":{"checks":{"type":"object"},"current":{"type":["object","null"]},"candidates":{"type":"array","items":{"type":"object"}}}}]},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/identity/check":{"get":{"summary":"Same entity or not (not a government KYC)","operationId":"identityCheck","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"description":"An id alone, or type=person|company with a name and a second clue. Government-id keys (aadhaar, pan, passport, ssn, account_number) answer 400 unsupported_identifier, unbilled.","parameters":[{"name":"id","in":"query","required":false,"description":"Any identifier","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"person or company","schema":{"type":"string","enum":["person","company"]}},{"name":"name","in":"query","required":false,"description":"Name","schema":{"type":"string"}},{"name":"employer","in":"query","required":false,"description":"Person: employer","schema":{"type":"string"}},{"name":"domain","in":"query","required":false,"description":"Website","schema":{"type":"string"}},{"name":"city","in":"query","required":false,"description":"City","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"ISO 2","schema":{"type":"string"}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"allOf":[{"$ref":"#/components/schemas/Decision"},{"type":"object","properties":{"identifiers":{"type":"object"},"operating":{"type":["boolean","null"]}}}]},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/email/check":{"post":{"summary":"Status of an e-mail address you already have","operationId":"emailCheck","x-billing":{"per_call_inr":0.16,"billed_on":"verdict held or withheld; not_held is free"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}},"responses":{"200":{"description":"held, not_held or withheld","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"verdict":{"type":"string","enum":["held","not_held","withheld"]},"status":{"type":"string"},"on":{"type":"string","enum":["person","organization"]},"cite":{"type":"object"},"contact":{"$ref":"#/components/schemas/FullContact"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/company/{id}/diligence":{"get":{"summary":"Company due-diligence summary","operationId":"companyDiligence","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGC-8SFS42RSWAX9"}],"responses":{"200":{"description":"ok; unknown always lists beneficial_owners, sanctions, gstin_status","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/person/{id}/diligence":{"get":{"summary":"Person due-diligence summary","operationId":"personDiligence","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGP-929RKAMSQDNK"},{"name":"employer","in":"query","required":false,"description":"Checked against the record","schema":{"type":"string"}},{"name":"title","in":"query","required":false,"description":"Checked against the record","schema":{"type":"string"}}],"responses":{"200":{"description":"ok; unknown always lists government_id, sanctions, address_proof","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/company/{id}/hiring":{"get":{"summary":"Openings and workforce roles","operationId":"companyHiring","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGC-8SFS42RSWAX9"}],"responses":{"200":{"description":"ok (jobs_count 0 when none)","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"jobs_count":{"type":"integer"},"recent":{"type":"array","items":{"type":"object"}},"workforce":{"type":["object","null"]}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/person/{id}/hire-check":{"get":{"summary":"A person against a role","operationId":"hireCheck","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGP-8J76H1YPDRQQ"},{"name":"role","in":"query","required":true,"schema":{"type":"string"}},{"name":"company","in":"query","required":false,"description":"Name or DGC id","schema":{"type":"string"}},{"name":"city","in":"query","required":false,"description":"City","schema":{"type":"string"}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"allOf":[{"$ref":"#/components/schemas/Decision"},{"type":"object","properties":{"already_there":{"type":"boolean"},"current_title":{"type":["string","null"]},"skill_overlap":{"type":"array","items":{"type":"string"}},"looking_for":{"type":"array","items":{"type":"string"}},"contact":{"$ref":"#/components/schemas/FullContact"}}}]},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/person/{id}/contact":{"get":{"summary":"Full contact for one person (signed-in accounts)","operationId":"personContact","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGP-8J76H1YPDRQQ"},{"name":"purpose","in":"query","required":true,"description":"Why: recruiting, sales, vendor_check, support, press or research (logged; not an approval step)","schema":{"type":"string","enum":["recruiting","sales","vendor_check","support","press","research"]}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"id":{"type":"string"},"purpose":{"type":"string"},"contact":{"$ref":"#/components/schemas/FullContact"},"contact_reason":{"$ref":"#/components/schemas/ContactReason"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/company/{id}/contact":{"get":{"summary":"An organisation's own contact (signed-in accounts)","operationId":"companyContact","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGC-8SFS42RSWAX9"},{"name":"purpose","in":"query","required":true,"description":"Why: recruiting, sales, vendor_check, support, press or research (logged; not an approval step)","schema":{"type":"string","enum":["recruiting","sales","vendor_check","support","press","research"]}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"id":{"type":"string"},"purpose":{"type":"string"},"contact":{"$ref":"#/components/schemas/FullContact"},"contact_reason":{"$ref":"#/components/schemas/ContactReason"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/company/{id}/group":{"get":{"summary":"Parent, ultimate parent and subsidiaries","operationId":"companyGroup","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGC-8SFS42RSWAX9"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/company/{id}/card":{"get":{"summary":"Free public preview of an organisation","operationId":"companyCard","security":[],"x-billing":{"per_call_inr":0},"parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGC-8SFS42RSWAX9"}],"responses":{"200":{"description":"ok: id, type, name, url, grade, summary, place","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/person/{id}/card":{"get":{"summary":"Free public preview of a person","operationId":"personCard","security":[],"x-billing":{"per_call_inr":0},"parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGP-929RKAMSQDNK"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/people/search":{"get":{"summary":"People search; contacts on each hit for signed-in accounts (20 a page)","operationId":"peopleSearch","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"parameters":[{"name":"q","in":"query","required":false,"description":"Words","schema":{"type":"string"}},{"name":"city","in":"query","required":false,"description":"City","schema":{"type":"string"}},{"name":"region","in":"query","required":false,"description":"Region","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"ISO 2","schema":{"type":"string"}},{"name":"function","in":"query","required":false,"description":"Function","schema":{"type":"string"}},{"name":"seniority","in":"query","required":false,"description":"Seniority","schema":{"type":"string"}},{"name":"skill","in":"query","required":false,"description":"Skill","schema":{"type":"string"}},{"name":"employer","in":"query","required":false,"description":"Employer","schema":{"type":"string"}},{"name":"college","in":"query","required":false,"description":"College","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"1 to 20","schema":{"type":"integer","minimum":1,"maximum":20}},{"name":"offset","in":"query","required":false,"description":"0 to 500","schema":{"type":"integer"}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"count":{"type":"integer"},"results":{"type":"array","items":{"$ref":"#/components/schemas/Hit"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/suggest":{"get":{"summary":"Typeahead: up to 8 names with place and grade","operationId":"suggest","security":[],"x-billing":{"per_call_inr":0},"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2}},{"name":"type","in":"query","required":false,"description":"company, person or all","schema":{"type":"string","enum":["all","company","person"]}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/talent/{city}":{"get":{"summary":"Roles and skills in a city (counts; small cells left out)","operationId":"talent","security":[],"x-billing":{"per_call_inr":0},"parameters":[{"name":"city","in":"path","required":true,"schema":{"type":"string"},"example":"pune"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/research/market":{"get":{"summary":"Market size: counts and example organisations","operationId":"researchMarket","security":[],"x-billing":{"per_call_inr":0},"parameters":[{"name":"country","in":"query","required":false,"description":"ISO 2","schema":{"type":"string","example":"IN"}},{"name":"city","in":"query","required":false,"description":"City","schema":{"type":"string"}},{"name":"industry","in":"query","required":false,"description":"ISIC section letter","schema":{"type":"string","example":"J"}},{"name":"function","in":"query","required":false,"description":"People function","schema":{"type":"string"}}],"responses":{"200":{"description":"ok; null = not computed","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/watch":{"get":{"summary":"Your watch list (free)","operationId":"watchList","responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"summary":"Add or remove watched records (free)","operationId":"watch","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"}},"remove":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/changes":{"get":{"summary":"Watched records updated since a date (free)","operationId":"changes","parameters":[{"name":"since","in":"query","required":true,"schema":{"type":"string"},"example":"2026-10-03"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","properties":{"changes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"updated":{"type":"string"},"changed":{"type":"array","items":{"type":"string"}}}}}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/batch":{"post":{"summary":"Full records for up to 50 identifiers","operationId":"batch","x-billing":{"per_record_inr":0.16,"billed_on":"each record found"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"string"},"example":["DGC-8SFS42RSWAX9","L85110KA1981PLC013115","Q95"]}}}}}},"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"requested":{"type":"integer"},"found":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"found":{"type":"boolean"},"record":{"type":["object","null"]}}}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/match":{"post":{"summary":"Match CRM rows to records (entity resolution)","operationId":"match","x-billing":{"per_record_inr":0.16,"billed_on":"each row matched or possibly matched"},"description":"Up to 25 rows a call. Organisations by name + country/city/website; people (type person) by name + employer/title/city/country. Each row gets a verdict, a confidence and the matched record (brief).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["records"],"properties":{"records":{"type":"array","minItems":1,"maxItems":25,"items":{"type":"object","properties":{"type":{"type":"string","enum":["company","person"],"default":"company"},"name":{"type":"string"},"country":{"type":"string"},"city":{"type":"string"},"website":{"type":"string"},"employer":{"type":"string"},"title":{"type":"string"}}},"example":[{"name":"Infosys","country":"IN","website":"infosys.com"},{"type":"person","name":"Salil Parekh","employer":"Infosys"}]}}}}}},"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"rows":{"type":"integer"},"matched":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"row":{"type":"integer"},"verdict":{"type":"string"},"confidence":{"type":"number"},"match":{"type":["object","null"]}}}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/company/{id}/people":{"get":{"summary":"An organisation's founders, leaders, board and people on Data Galactica","operationId":"companyPeople","x-billing":{"per_call_inr":0.16,"billed_on":"HTTP 200"},"parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"},"example":"DGC-8SFS42RSWAX9"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"insufficient_balance: the wallet cannot pay for the call (top up: POST /api/v1/account/topup)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/account":{"get":{"summary":"Wallet: balance, price, calls remaining, top-up packs (free)","operationId":"account","responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/account/topup":{"post":{"summary":"Start a top-up: a pay link for the person (free)","operationId":"topup","description":"amount 500, 5000 or 50000 (rupees of credit; no GST is charged). The answer has pay_url (UPI, card, net banking, wallets via Razorpay) and status_url; poll it until status is paid. Pay links stay open 48 hours. Also offered as UCP (/.well-known/ucp) and ACP (/.well-known/acp.json) checkout sessions.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["amount"],"properties":{"amount":{"type":"integer","enum":[500,5000,50000]}}}}}},"responses":{"201":{"description":"pay link","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Feature not configured","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/account/payments/{payment_id}":{"get":{"summary":"Where a top-up stands (free)","operationId":"payment","parameters":[{"name":"payment_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/account/usage":{"get":{"summary":"Recent calls with what each was billed (free)","operationId":"usage","parameters":[{"name":"limit","in":"query","required":false,"description":"1 to 500, default 50","schema":{"type":"integer"}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/enums":{"get":{"security":[],"x-billing":{"per_call_inr":0},"summary":"Code lists with live counts","operationId":"enums","description":"Every value the filters accept, with how many records carry it: ISIC sections, people functions, seniority, size bands, statuses, kinds, grades, countries.","responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/api/v1/lists":{"get":{"security":[],"x-billing":{"per_call_inr":0},"summary":"All ranked lists","operationId":"lists","description":"The ranked lists behind the directory pages: organisations by industry, country, country and industry, city; people by function, country, city.","parameters":[{"name":"kind","in":"query","required":false,"description":"company or person","schema":{"type":"string","enum":["company","person"]}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"count":{"type":"integer"},"lists":{"type":"array","items":{"type":"object","properties":{"list":{"type":"string","description":"List path, e.g. c/cc/in/sec/J"},"title":{"type":"string"},"total":{"type":"integer"},"pages":{"type":"integer"},"url":{"type":"string"},"api":{"type":"string"}}}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/api/v1/lists/{list}":{"get":{"summary":"One page (100 records) of a ranked list","operationId":"listPage","description":"Records with contact details first (gold, then silver); organisations then by how well known, people in a stable mixed order. A list exposes its first 5,000 records (50 pages); use /search with filters for the rest. The list path has slashes (c/cc/in/sec/J).","parameters":[{"name":"list","in":"path","required":true,"description":"A list path from /lists","schema":{"type":"string"},"example":"c/cc/in/sec/J"},{"name":"page","in":"query","required":false,"description":"1 to 50","schema":{"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"list":{"type":"string"},"title":{"type":"string"},"total":{"type":"integer"},"page":{"type":"integer"},"pages":{"type":"integer"},"next":{"type":["string","null"]},"results":{"type":"array","items":{"$ref":"#/components/schemas/Hit"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/check/start":{"post":{"security":[],"x-billing":{"per_call_inr":0},"summary":"Galactica Check, step 1: e-mail a 6-digit code","description":"Always answers {sent: true} for a valid address, whether or not we hold it. Limits: 5 an hour per IP, 3 an hour per address. Phones: 400 phone_not_supported_yet.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}},"responses":{"200":{"description":"sent","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"sent":{"const":true}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Feature not configured","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"postCheckStart"}},"/api/v1/check/verify":{"post":{"security":[],"x-billing":{"per_call_inr":0},"summary":"Galactica Check, step 2: the code -> a check token and the records linked to the e-mail","description":"Returns each linked record (public view), its available actions, and, for the owner only, the contact value held for this same e-mail. The token lasts 30 minutes.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","code"],"properties":{"email":{"type":"string"},"code":{"type":"string","description":"6 digits","pattern":"^\\d{6}$"}}}}}},"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object","properties":{"token":{"type":"string"},"expires_in":{"type":"integer"},"records":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"claimed":{"type":"boolean"},"visibility":{"type":"string"},"record":{"type":"object"},"actions":{"type":"array","items":{"type":"string"}}}}},"contacts":{"type":"array","items":{"type":"object","properties":{"type":{"const":"email"},"value":{"type":"string"},"status":{"type":"string"}}}},"actions":{"type":"array","items":{"type":"string"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Feature not configured","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"postCheckVerify"}},"/api/v1/check/act":{"post":{"security":[],"x-billing":{"per_call_inr":0},"summary":"Galactica Check, step 3: claim, hide, remove, or create a Galactica ID","description":"claim binds a record to the e-mail (an organisation only when the e-mail domain equals its website domain); hide sets visibility limited; remove hides and logs a deletion request; create mints a new DGP- id when no record is linked (name required).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["token","action"],"properties":{"token":{"type":"string"},"action":{"type":"string","enum":["claim","hide","remove","create"]},"id":{"type":"string","description":"Galactica ID (not for create)"},"name":{"type":"string","description":"For create: your name"}}}}}},"responses":{"200":{"description":"done","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"201":{"description":"created","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Not allowed: account_suspended, or for a pre-account full-data key key_unknown, key_revoked or key_expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"postCheckAct"}},"/api/v1/me":{"get":{"summary":"The signed-in owner: claimed records and recent contributions","security":[{"oauth2":["profile:read"]}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Not allowed: account_suspended, or for a pre-account full-data key key_unknown, key_revoked or key_expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getMe"}},"/api/v1/me/contributions":{"get":{"summary":"Contributions by the signed-in owner, newest first","security":[{"oauth2":["profile:read"]}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Contribution"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Not allowed: account_suspended, or for a pre-account full-data key key_unknown, key_revoked or key_expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getMeContributions"}},"/api/v1/me/updates":{"post":{"summary":"Propose an edit to a record you claimed","security":[{"oauth2":["profile:write"]}],"description":"People: headline, about, location {city, region, country}, current {title, organization {name}}, career[], education[], skills[{name}], languages[], interests[], web.social[], achievements. Organisations: description, web.website, web.social, products, people.leaders. Anything else is rejected. Contacts are scrubbed; identity and account numbers are rejected; special categories wait for a person. 30 contributions a day.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","changes"],"properties":{"id":{"type":"string","description":"A Galactica ID you claimed"},"changes":{"type":"object"},"evidence_urls":{"type":"array","items":{"type":"string","format":"uri"}}}}}}},"responses":{"200":{"description":"recorded with its review status","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"$ref":"#/components/schemas/Contribution"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Not allowed: account_suspended, or for a pre-account full-data key key_unknown, key_revoked or key_expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"postMeUpdates"}},"/api/v1/entities/{id}/notes":{"post":{"summary":"Add a note to another record","security":[{"oauth2":["notes:write"]}],"description":"Factual, neutral, verifiable statements only; reviewed before publication. Appears on the record as community_notes.","parameters":[{"name":"id","in":"path","required":true,"description":"Galactica ID (DGC-/DGP- + 12 characters) or any source id: CIN, LLPIN, LEI-<lei>, GB-<number>, CIK-<n>, Wikidata Q-id.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"Up to 600 characters","maxLength":600},"url":{"type":"string","description":"Source","format":"uri"}}}}}},"responses":{"200":{"description":"recorded with its review status","content":{"application/json":{"schema":{"type":"object","required":["ok","data"],"properties":{"ok":{"const":true},"data":{"$ref":"#/components/schemas/Contribution"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"api_key_required, invalid_key, key_revoked or account_required: send an account key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Not allowed: account_suspended, or for a pre-account full-data key key_unknown, key_revoked or key_expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found (not billed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see the retry-after header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"postEntitiesByIdNotes"}}},"security":[{"bearer":[]},{"apiKey":[]},{"key":[]},{"oauth2":["api"]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"An account API key (https://datagalactica.com/account/keys; sign up at https://datagalactica.com/signup, agents https://datagalactica.com/auth.md)."},"apiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"The same account API key."},"key":{"type":"apiKey","in":"header","name":"Ocp-Apim-Subscription-Key","description":"The same account API key, the gateway way (https://api.datagalactica.com)."},"oauth2":{"type":"oauth2","description":"Authorization code with PKCE (S256 required). Register a public client at https://datagalactica.com/oauth/register (RFC 7591). Metadata: https://datagalactica.com/.well-known/oauth-authorization-server.","flows":{"authorizationCode":{"authorizationUrl":"https://datagalactica.com/oauth/authorize","tokenUrl":"https://datagalactica.com/oauth/token","refreshUrl":"https://datagalactica.com/oauth/token","scopes":{"api":"Data calls billed to your wallet","profile:read":"Read your claimed records and contributions","profile:write":"Propose edits to your claimed records","notes:write":"Add notes to other records"}}}}},"schemas":{"Grade":{"type":"string","enum":["bronze","silver","gold","verified"],"description":"Overall: verified = claimed by the owner; gold = an e-mail and a phone, both verified or deliverable; silver = an e-mail and a phone; bronze = less. In quality.sections, the grade says how well that section is sourced."},"Quality":{"type":"object","required":["overall"],"properties":{"overall":{"$ref":"#/components/schemas/Grade"},"sections":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Grade"}}}},"Source":{"type":"object","properties":{"name":{"type":"string"},"as_of":{"type":"string"},"note":{"type":"string"}}},"Ref":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}}},"Location":{"type":"object","properties":{"country":{"type":"string","description":"ISO 3166-1 alpha-2"},"country_name":{"type":"string"},"region":{"type":"string"},"city":{"type":"string"}}},"Money":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string","description":"ISO 4217"},"usd":{"type":"number"},"as_of":{"type":"string"}}},"Contact":{"type":"object","properties":{"masked":{"type":"string","description":"Always masked, e.g. a***@g***.com"},"status":{"type":"string","enum":["unverified","uncertain","deliverable","verified"]}}},"FullContact":{"type":["object","null"],"description":"For signed-in accounts (and full-data keys with the contacts scope). null when the owner opted out or the hourly limit is reached (see contact_reason). Every read is logged.","properties":{"emails":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","description":"Full e-mail address"},"status":{"type":"string"}}}},"phones":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","description":"Full phone number"},"status":{"type":"string"}}}}}},"ContactReason":{"type":"string","enum":["owner_opted_out","hourly_limit"],"description":"Why contact is null"},"Note":{"type":"object","properties":{"id":{"type":"string"},"by_dg":{"type":"string","description":"Galactica ID of the author, when they have one"},"text":{"type":"string"},"url":{"type":"string"},"at":{"type":"string"}}},"Organization":{"type":"object","required":["id","type","name","quality"],"properties":{"id":{"type":"string","description":"Galactica ID","pattern":"^DGC-[0-9A-Z]{12}$","example":"DGC-8SFS42RSWAX9"},"type":{"const":"organization"},"kind":{"type":"string","enum":["company","nonprofit","education","government","other"]},"name":{"type":"string"},"legal_name":{"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"slug":{"type":"string"},"url":{"type":"string","description":"Page URL"},"summary":{"type":"string"},"description":{"type":"string"},"status":{"type":"string","enum":["operating","closed","unknown"]},"status_detail":{"type":"string"},"founded":{"type":"string"},"dissolved":{"type":"string"},"location":{"$ref":"#/components/schemas/Location"},"industry":{"type":"object","properties":{"section":{"type":"string","description":"ISIC Rev.4 section letter"},"section_name":{"type":"string"},"division":{"type":"string","description":"ISIC 2-digit division"},"label":{"type":"string"}}},"products":{"type":"array","items":{"type":"string"}},"size":{"type":"object","properties":{"band":{"type":"string","enum":["micro","small","medium","large","enterprise"]},"employees":{"type":"object"},"revenue":{"$ref":"#/components/schemas/Money"},"market_cap":{"$ref":"#/components/schemas/Money"}}},"listing":{"type":"object"},"people":{"type":"object"},"group":{"type":"object"},"peers":{"type":"array","items":{"$ref":"#/components/schemas/Ref"}},"hiring":{"type":"object"},"timeline":{"type":"array","items":{"type":"object"}},"web":{"type":"object","properties":{"website":{"type":"string"},"social":{"type":"array","items":{"type":"object"}},"wikipedia":{"type":"string"}}},"registration":{"type":"object"},"identifiers":{"type":"object","additionalProperties":true},"contacts":{"type":"object","properties":{"emails":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}}}},"contact":{"$ref":"#/components/schemas/FullContact"},"contact_reason":{"$ref":"#/components/schemas/ContactReason"},"quality":{"$ref":"#/components/schemas/Quality"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"community_notes":{"type":"array","items":{"$ref":"#/components/schemas/Note"}},"updated":{"type":"string","format":"date-time"}}},"Person":{"type":"object","required":["id","type","name","quality"],"properties":{"id":{"type":"string","description":"Galactica ID","pattern":"^DGP-[0-9A-Z]{12}$","example":"DGP-929RKAMSQDNK"},"type":{"const":"person"},"kind":{"type":"string","enum":["public_figure","professional"]},"name":{"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"slug":{"type":"string"},"url":{"type":"string","description":"Page URL"},"headline":{"type":"string"},"summary":{"type":"string"},"about":{"type":"string"},"location":{"$ref":"#/components/schemas/Location"},"hometown":{"type":"string"},"current":{"type":"object","properties":{"title":{"type":"string"},"organization":{"$ref":"#/components/schemas/Ref"},"function":{"type":"string"},"seniority":{"type":"string"}}},"functions":{"type":"array","items":{"type":"string"}},"industries":{"type":"array","items":{"type":"string"}},"career":{"type":"array","items":{"type":"object"}},"education":{"type":"array","items":{"type":"object"}},"skills":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"score":{"type":"number"},"tested":{"type":"boolean"}}}},"expertise":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"interests":{"type":"array","items":{"type":"string"}},"achievements":{"type":"object"},"public_life":{"type":"object","description":"Public figures only"},"network":{"type":"object"},"web":{"type":"object"},"contacts":{"type":"object","properties":{"emails":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}},"phones":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}}}},"contact":{"$ref":"#/components/schemas/FullContact"},"contact_reason":{"$ref":"#/components/schemas/ContactReason"},"visibility":{"type":"string","enum":["public","limited"]},"identifiers":{"type":"object"},"quality":{"$ref":"#/components/schemas/Quality"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"community_notes":{"type":"array","items":{"$ref":"#/components/schemas/Note"}},"updated":{"type":"string","format":"date-time"}}},"Hit":{"type":"object","required":["id","name","url","type"],"properties":{"id":{"type":"string","description":"Galactica ID","example":"DGC-8SFS42RSWAX9"},"name":{"type":"string"},"slug":{"type":"string"},"url":{"type":"string","description":"Page URL"},"type":{"type":"string","enum":["company","person"]},"kind":{"type":"string"},"quality":{"$ref":"#/components/schemas/Grade"},"sub":{"type":"string","description":"One-line subtitle"},"matched":{"type":"string","enum":["name","alias","text","meaning"],"description":"What the words matched on; meaning = close in meaning (/find)"},"city":{"type":"string"},"country":{"type":"string","description":"Country name"}}},"Contribution":{"type":"object","properties":{"id":{"type":"string"},"entity":{"type":"string"},"kind":{"type":"string","enum":["update","note","action"]},"status":{"type":"string","enum":["approved","held","rejected","applied"]},"review":{"type":"object","properties":{"decision":{"type":"string","enum":["approve","hold","reject"]},"reasons":{"type":"array","items":{"type":"string"}},"risk":{"type":"string","enum":["low","medium","high"]}}},"changes":{"type":"object"},"text":{"type":"string"},"url":{"type":"string"},"at":{"type":"string","format":"date-time"}}},"Envelope":{"type":"object","required":["ok"],"description":"Every answer: ok, then data (success) or error (failure), and meta","properties":{"ok":{"type":"boolean"},"data":{},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"Decision":{"type":"object","description":"The decision envelope of checks, verifications and diligence","properties":{"verdict":{"type":"string","enum":["match","possible_match","no_match","not_found"]},"confidence":{"type":"number","minimum":0,"maximum":1},"grade":{"$ref":"#/components/schemas/Grade"},"cite":{"type":["object","null"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["person","organization"]},"name":{"type":"string"},"url":{"type":"string"}}},"conflicts":{"type":"array","items":{"type":"string","description":"Where the record disagrees with itself, or is bronze"}},"next":{"type":"array","items":{"type":"string","description":"Routes to call next, e.g. company.diligence"}}}},"Verification":{"type":"object","properties":{"verdict":{"type":"string","enum":["match","possible_match","no_match","not_found"]},"confidence":{"type":"number","minimum":0,"maximum":1},"operating":{"type":["boolean","null"],"description":"Organisations: true operating, false closed, null unknown"},"match":{"type":["object","null"],"description":"The best record (brief): id, name, url, status, quality, place, identifiers"},"checks":{"type":"object","additionalProperties":{"type":"object","properties":{"given":{"type":"string"},"found":{"type":["string","null"]},"ok":{"type":["boolean","null"],"description":"null: the record has no value to check against"},"score":{"type":"number"}}}},"candidates":{"type":"array","items":{"type":"object"}},"note":{"type":"string"}}},"Meta":{"type":"object","properties":{"api":{"type":"string"},"standard":{"type":"string"},"docs":{"type":"string"},"note":{"type":"string"}}},"Error":{"type":"object","required":["ok","error"],"properties":{"ok":{"const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"e.g. api_key_required, invalid_key, insufficient_balance, account_suspended, not_found, no_route, rate_limited, invalid_code, not_claimed, insufficient_scope, key_revoked"},"message":{"type":"string"},"details":{}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}